package spynx.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import spynx.services.DeslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@SuppressWarnings("all")
public class InternalDeslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_VERBATIM_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'continue'", "'break'", "'minOccur'", "'maxOccur'", "'returnLastOccurrenceOnly'", "'input'", "'position'", "'globalPosition'", "'updateParentPosition'", "'&&'", "'||'", "'>'", "'<'", "'<='", "'>='", "'=='", "'!='", "'+'", "'-'", "'*'", "'/'", "'%'", "'<<'", "'>>'", "'evaluate'", "'execute'", "'this'", "'begin'", "'end'", "'arguments'", "'true'", "'false'", "'program'", "';'", "'reference'", "'pattern'", "'('", "')'", "':'", "','", "'const'", "'='", "'{'", "'}'", "'var'", "'locate'", "'for'", "'option'", "'using'", "'match'", "'options'", "'if'", "'else'", "'in'", "'struct'", "'statement'", "']'", "'@'", "'matchinfo'", "'class'", "'factory'", "'locator'", "'type'", "'::'", "'.'", "'return'", "'optional'", "'foreach'", "'while'", "'?'", "'!'", "'['", "'new'", "'job'", "'nameresolver'", "'ref'", "'null'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=5;
    public static final int RULE_VERBATIM_STRING=6;
    public static final int RULE_ANY_OTHER=11;
    public static final int RULE_INT=7;
    public static final int RULE_WS=10;
    public static final int RULE_SL_COMMENT=9;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=8;

        public InternalDeslParser(TokenStream input) {
            super(input);
            ruleMemo = new HashMap[923+1];
         }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g"; }


     
     	private DeslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(DeslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleProgram
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:62:1: entryRuleProgram : ruleProgram EOF ;
    public final void entryRuleProgram() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:63:1: ( ruleProgram EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:64:1: ruleProgram EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleProgram_in_entryRuleProgram67);
            ruleProgram();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProgramRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProgram74); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleProgram


    // $ANTLR start ruleProgram
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:71:1: ruleProgram : ( ( rule__Program__Group__0 ) ) ;
    public final void ruleProgram() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:75:2: ( ( ( rule__Program__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:76:1: ( ( rule__Program__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:76:1: ( ( rule__Program__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:77:1: ( rule__Program__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:78:1: ( rule__Program__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:78:2: rule__Program__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__0_in_ruleProgram100);
            rule__Program__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleProgram


    // $ANTLR start entryRuleDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:90:1: entryRuleDeclaration : ruleDeclaration EOF ;
    public final void entryRuleDeclaration() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:91:1: ( ruleDeclaration EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:92:1: ruleDeclaration EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDeclaration_in_entryRuleDeclaration127);
            ruleDeclaration();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDeclaration134); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDeclaration


    // $ANTLR start ruleDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:99:1: ruleDeclaration : ( ( rule__Declaration__Alternatives ) ) ;
    public final void ruleDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:103:2: ( ( ( rule__Declaration__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:104:1: ( ( rule__Declaration__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:104:1: ( ( rule__Declaration__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:105:1: ( rule__Declaration__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:106:1: ( rule__Declaration__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:106:2: rule__Declaration__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Declaration__Alternatives_in_ruleDeclaration160);
            rule__Declaration__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDeclaration


    // $ANTLR start entryRuleProxies
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:118:1: entryRuleProxies : ruleProxies EOF ;
    public final void entryRuleProxies() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:119:1: ( ruleProxies EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:120:1: ruleProxies EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxiesRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleProxies_in_entryRuleProxies187);
            ruleProxies();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxiesRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProxies194); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleProxies


    // $ANTLR start ruleProxies
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:127:1: ruleProxies : ( ( rule__Proxies__Alternatives ) ) ;
    public final void ruleProxies() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:131:2: ( ( ( rule__Proxies__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:132:1: ( ( rule__Proxies__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:132:1: ( ( rule__Proxies__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:133:1: ( rule__Proxies__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxiesAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:134:1: ( rule__Proxies__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:134:2: rule__Proxies__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Proxies__Alternatives_in_ruleProxies220);
            rule__Proxies__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProxiesAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleProxies


    // $ANTLR start entryRuleImportStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:146:1: entryRuleImportStatement : ruleImportStatement EOF ;
    public final void entryRuleImportStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:147:1: ( ruleImportStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:148:1: ruleImportStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getImportStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleImportStatement_in_entryRuleImportStatement247);
            ruleImportStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getImportStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImportStatement254); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleImportStatement


    // $ANTLR start ruleImportStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:155:1: ruleImportStatement : ( ruleInclusionDeclaration ) ;
    public final void ruleImportStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:159:2: ( ( ruleInclusionDeclaration ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:160:1: ( ruleInclusionDeclaration )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:160:1: ( ruleInclusionDeclaration )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:161:1: ruleInclusionDeclaration
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getImportStatementAccess().getInclusionDeclarationParserRuleCall()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleInclusionDeclaration_in_ruleImportStatement280);
            ruleInclusionDeclaration();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getImportStatementAccess().getInclusionDeclarationParserRuleCall()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleImportStatement


    // $ANTLR start entryRuleInclusionDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:174:1: entryRuleInclusionDeclaration : ruleInclusionDeclaration EOF ;
    public final void entryRuleInclusionDeclaration() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:175:1: ( ruleInclusionDeclaration EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:176:1: ruleInclusionDeclaration EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getInclusionDeclarationRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleInclusionDeclaration_in_entryRuleInclusionDeclaration306);
            ruleInclusionDeclaration();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getInclusionDeclarationRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInclusionDeclaration313); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleInclusionDeclaration


    // $ANTLR start ruleInclusionDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:183:1: ruleInclusionDeclaration : ( ( rule__InclusionDeclaration__Group__0 ) ) ;
    public final void ruleInclusionDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:187:2: ( ( ( rule__InclusionDeclaration__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:188:1: ( ( rule__InclusionDeclaration__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:188:1: ( ( rule__InclusionDeclaration__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:189:1: ( rule__InclusionDeclaration__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getInclusionDeclarationAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:190:1: ( rule__InclusionDeclaration__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:190:2: rule__InclusionDeclaration__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__InclusionDeclaration__Group__0_in_ruleInclusionDeclaration339);
            rule__InclusionDeclaration__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getInclusionDeclarationAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleInclusionDeclaration


    // $ANTLR start entryRulePatternDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:202:1: entryRulePatternDeclaration : rulePatternDeclaration EOF ;
    public final void entryRulePatternDeclaration() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:203:1: ( rulePatternDeclaration EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:204:1: rulePatternDeclaration EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePatternDeclaration_in_entryRulePatternDeclaration366);
            rulePatternDeclaration();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePatternDeclaration373); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePatternDeclaration


    // $ANTLR start rulePatternDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:211:1: rulePatternDeclaration : ( ( rule__PatternDeclaration__Group__0 ) ) ;
    public final void rulePatternDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:215:2: ( ( ( rule__PatternDeclaration__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:216:1: ( ( rule__PatternDeclaration__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:216:1: ( ( rule__PatternDeclaration__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:217:1: ( rule__PatternDeclaration__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:218:1: ( rule__PatternDeclaration__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:218:2: rule__PatternDeclaration__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__0_in_rulePatternDeclaration399);
            rule__PatternDeclaration__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePatternDeclaration


    // $ANTLR start entryRuleConstantDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:230:1: entryRuleConstantDeclaration : ruleConstantDeclaration EOF ;
    public final void entryRuleConstantDeclaration() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:231:1: ( ruleConstantDeclaration EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:232:1: ruleConstantDeclaration EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleConstantDeclaration_in_entryRuleConstantDeclaration426);
            ruleConstantDeclaration();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleConstantDeclaration433); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleConstantDeclaration


    // $ANTLR start ruleConstantDeclaration
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:239:1: ruleConstantDeclaration : ( ( rule__ConstantDeclaration__Group__0 ) ) ;
    public final void ruleConstantDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:243:2: ( ( ( rule__ConstantDeclaration__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:244:1: ( ( rule__ConstantDeclaration__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:244:1: ( ( rule__ConstantDeclaration__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:245:1: ( rule__ConstantDeclaration__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:246:1: ( rule__ConstantDeclaration__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:246:2: rule__ConstantDeclaration__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__0_in_ruleConstantDeclaration459);
            rule__ConstantDeclaration__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleConstantDeclaration


    // $ANTLR start entryRuleStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:258:1: entryRuleStatement : ruleStatement EOF ;
    public final void entryRuleStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:259:1: ( ruleStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:260:1: ruleStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_entryRuleStatement486);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement493); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleStatement


    // $ANTLR start ruleStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:267:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ;
    public final void ruleStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:271:2: ( ( ( rule__Statement__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:272:1: ( ( rule__Statement__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:272:1: ( ( rule__Statement__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:273:1: ( rule__Statement__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:274:1: ( rule__Statement__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:274:2: rule__Statement__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Alternatives_in_ruleStatement519);
            rule__Statement__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleStatement


    // $ANTLR start entryRuleBlockSpecialStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:286:1: entryRuleBlockSpecialStatement : ruleBlockSpecialStatement EOF ;
    public final void entryRuleBlockSpecialStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:287:1: ( ruleBlockSpecialStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:288:1: ruleBlockSpecialStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBlockSpecialStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBlockSpecialStatement_in_entryRuleBlockSpecialStatement546);
            ruleBlockSpecialStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBlockSpecialStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBlockSpecialStatement553); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBlockSpecialStatement


    // $ANTLR start ruleBlockSpecialStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:295:1: ruleBlockSpecialStatement : ( ( rule__BlockSpecialStatement__Group__0 ) ) ;
    public final void ruleBlockSpecialStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:299:2: ( ( ( rule__BlockSpecialStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:300:1: ( ( rule__BlockSpecialStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:300:1: ( ( rule__BlockSpecialStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:301:1: ( rule__BlockSpecialStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBlockSpecialStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:302:1: ( rule__BlockSpecialStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:302:2: rule__BlockSpecialStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__BlockSpecialStatement__Group__0_in_ruleBlockSpecialStatement579);
            rule__BlockSpecialStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBlockSpecialStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBlockSpecialStatement


    // $ANTLR start entryRuleReturnStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:314:1: entryRuleReturnStatement : ruleReturnStatement EOF ;
    public final void entryRuleReturnStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:315:1: ( ruleReturnStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:316:1: ruleReturnStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getReturnStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleReturnStatement_in_entryRuleReturnStatement606);
            ruleReturnStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getReturnStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleReturnStatement613); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleReturnStatement


    // $ANTLR start ruleReturnStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:323:1: ruleReturnStatement : ( ( rule__ReturnStatement__Group__0 ) ) ;
    public final void ruleReturnStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:327:2: ( ( ( rule__ReturnStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:328:1: ( ( rule__ReturnStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:328:1: ( ( rule__ReturnStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:329:1: ( rule__ReturnStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:330:1: ( rule__ReturnStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:330:2: rule__ReturnStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ReturnStatement__Group__0_in_ruleReturnStatement639);
            rule__ReturnStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleReturnStatement


    // $ANTLR start entryRuleEmptyStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:342:1: entryRuleEmptyStatement : ruleEmptyStatement EOF ;
    public final void entryRuleEmptyStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:343:1: ( ruleEmptyStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:344:1: ruleEmptyStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getEmptyStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleEmptyStatement_in_entryRuleEmptyStatement666);
            ruleEmptyStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getEmptyStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEmptyStatement673); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEmptyStatement


    // $ANTLR start ruleEmptyStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:351:1: ruleEmptyStatement : ( () ) ;
    public final void ruleEmptyStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:355:2: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:356:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:356:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:357:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getEmptyStatementAccess().getStatementAction()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:358:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:360:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getEmptyStatementAccess().getStatementAction()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEmptyStatement


    // $ANTLR start entryRuleCompositeStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:372:1: entryRuleCompositeStatement : ruleCompositeStatement EOF ;
    public final void entryRuleCompositeStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:373:1: ( ruleCompositeStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:374:1: ruleCompositeStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getCompositeStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleCompositeStatement_in_entryRuleCompositeStatement727);
            ruleCompositeStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getCompositeStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeStatement734); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleCompositeStatement


    // $ANTLR start ruleCompositeStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:381:1: ruleCompositeStatement : ( ( rule__CompositeStatement__Group__0 ) ) ;
    public final void ruleCompositeStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:385:2: ( ( ( rule__CompositeStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:386:1: ( ( rule__CompositeStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:386:1: ( ( rule__CompositeStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:387:1: ( rule__CompositeStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getCompositeStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:388:1: ( rule__CompositeStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:388:2: rule__CompositeStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__0_in_ruleCompositeStatement760);
            rule__CompositeStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getCompositeStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleCompositeStatement


    // $ANTLR start entryRuleDeclarationStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:400:1: entryRuleDeclarationStatement : ruleDeclarationStatement EOF ;
    public final void entryRuleDeclarationStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:401:1: ( ruleDeclarationStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:402:1: ruleDeclarationStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDeclarationStatement_in_entryRuleDeclarationStatement787);
            ruleDeclarationStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDeclarationStatement794); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDeclarationStatement


    // $ANTLR start ruleDeclarationStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:409:1: ruleDeclarationStatement : ( ( rule__DeclarationStatement__Group__0 ) ) ;
    public final void ruleDeclarationStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:413:2: ( ( ( rule__DeclarationStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:414:1: ( ( rule__DeclarationStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:414:1: ( ( rule__DeclarationStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:415:1: ( rule__DeclarationStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:416:1: ( rule__DeclarationStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:416:2: rule__DeclarationStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group__0_in_ruleDeclarationStatement820);
            rule__DeclarationStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDeclarationStatement


    // $ANTLR start entryRuleVarEntry
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:428:1: entryRuleVarEntry : ruleVarEntry EOF ;
    public final void entryRuleVarEntry() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:429:1: ( ruleVarEntry EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:430:1: ruleVarEntry EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleVarEntry_in_entryRuleVarEntry847);
            ruleVarEntry();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVarEntry854); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleVarEntry


    // $ANTLR start ruleVarEntry
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:437:1: ruleVarEntry : ( ( rule__VarEntry__Group__0 ) ) ;
    public final void ruleVarEntry() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:441:2: ( ( ( rule__VarEntry__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:442:1: ( ( rule__VarEntry__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:442:1: ( ( rule__VarEntry__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:443:1: ( rule__VarEntry__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:444:1: ( rule__VarEntry__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:444:2: rule__VarEntry__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group__0_in_ruleVarEntry880);
            rule__VarEntry__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleVarEntry


    // $ANTLR start entryRuleLocateStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:456:1: entryRuleLocateStatement : ruleLocateStatement EOF ;
    public final void entryRuleLocateStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:457:1: ( ruleLocateStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:458:1: ruleLocateStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleLocateStatement_in_entryRuleLocateStatement907);
            ruleLocateStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLocateStatement914); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleLocateStatement


    // $ANTLR start ruleLocateStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:465:1: ruleLocateStatement : ( ( rule__LocateStatement__Group__0 ) ) ;
    public final void ruleLocateStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:469:2: ( ( ( rule__LocateStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:470:1: ( ( rule__LocateStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:470:1: ( ( rule__LocateStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:471:1: ( rule__LocateStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:472:1: ( rule__LocateStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:472:2: rule__LocateStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__0_in_ruleLocateStatement940);
            rule__LocateStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleLocateStatement


    // $ANTLR start entryRuleMatchStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:484:1: entryRuleMatchStatement : ruleMatchStatement EOF ;
    public final void entryRuleMatchStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:485:1: ( ruleMatchStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:486:1: ruleMatchStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleMatchStatement_in_entryRuleMatchStatement967);
            ruleMatchStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMatchStatement974); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleMatchStatement


    // $ANTLR start ruleMatchStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:493:1: ruleMatchStatement : ( ( rule__MatchStatement__Group__0 ) ) ;
    public final void ruleMatchStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:497:2: ( ( ( rule__MatchStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:498:1: ( ( rule__MatchStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:498:1: ( ( rule__MatchStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:499:1: ( rule__MatchStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:500:1: ( rule__MatchStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:500:2: rule__MatchStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__0_in_ruleMatchStatement1000);
            rule__MatchStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleMatchStatement


    // $ANTLR start entryRuleMatchOption
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:512:1: entryRuleMatchOption : ruleMatchOption EOF ;
    public final void entryRuleMatchOption() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:513:1: ( ruleMatchOption EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:514:1: ruleMatchOption EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchOptionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleMatchOption_in_entryRuleMatchOption1027);
            ruleMatchOption();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchOptionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMatchOption1034); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleMatchOption


    // $ANTLR start ruleMatchOption
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:521:1: ruleMatchOption : ( ( rule__MatchOption__Group__0 ) ) ;
    public final void ruleMatchOption() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:525:2: ( ( ( rule__MatchOption__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:526:1: ( ( rule__MatchOption__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:526:1: ( ( rule__MatchOption__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:527:1: ( rule__MatchOption__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchOptionAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:528:1: ( rule__MatchOption__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:528:2: rule__MatchOption__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__Group__0_in_ruleMatchOption1060);
            rule__MatchOption__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchOptionAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleMatchOption


    // $ANTLR start entryRuleIfStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:540:1: entryRuleIfStatement : ruleIfStatement EOF ;
    public final void entryRuleIfStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:541:1: ( ruleIfStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:542:1: ruleIfStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleIfStatement_in_entryRuleIfStatement1087);
            ruleIfStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfStatement1094); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleIfStatement


    // $ANTLR start ruleIfStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:549:1: ruleIfStatement : ( ( rule__IfStatement__Group__0 ) ) ;
    public final void ruleIfStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:553:2: ( ( ( rule__IfStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:554:1: ( ( rule__IfStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:554:1: ( ( rule__IfStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:555:1: ( rule__IfStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:556:1: ( rule__IfStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:556:2: rule__IfStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__0_in_ruleIfStatement1120);
            rule__IfStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleIfStatement


    // $ANTLR start entryRuleLoopStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:568:1: entryRuleLoopStatement : ruleLoopStatement EOF ;
    public final void entryRuleLoopStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:569:1: ( ruleLoopStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:570:1: ruleLoopStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLoopStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleLoopStatement_in_entryRuleLoopStatement1147);
            ruleLoopStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLoopStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopStatement1154); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleLoopStatement


    // $ANTLR start ruleLoopStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:577:1: ruleLoopStatement : ( ( rule__LoopStatement__Alternatives ) ) ;
    public final void ruleLoopStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:581:2: ( ( ( rule__LoopStatement__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:582:1: ( ( rule__LoopStatement__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:582:1: ( ( rule__LoopStatement__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:583:1: ( rule__LoopStatement__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLoopStatementAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:584:1: ( rule__LoopStatement__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:584:2: rule__LoopStatement__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__LoopStatement__Alternatives_in_ruleLoopStatement1180);
            rule__LoopStatement__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLoopStatementAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleLoopStatement


    // $ANTLR start entryRuleForStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:596:1: entryRuleForStatement : ruleForStatement EOF ;
    public final void entryRuleForStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:597:1: ( ruleForStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:598:1: ruleForStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleForStatement_in_entryRuleForStatement1207);
            ruleForStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForStatement1214); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleForStatement


    // $ANTLR start ruleForStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:605:1: ruleForStatement : ( ( rule__ForStatement__Group__0 ) ) ;
    public final void ruleForStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:609:2: ( ( ( rule__ForStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:610:1: ( ( rule__ForStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:610:1: ( ( rule__ForStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:611:1: ( rule__ForStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:612:1: ( rule__ForStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:612:2: rule__ForStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__0_in_ruleForStatement1240);
            rule__ForStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleForStatement


    // $ANTLR start entryRuleForEachStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:624:1: entryRuleForEachStatement : ruleForEachStatement EOF ;
    public final void entryRuleForEachStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:625:1: ( ruleForEachStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:626:1: ruleForEachStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleForEachStatement_in_entryRuleForEachStatement1267);
            ruleForEachStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForEachStatement1274); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleForEachStatement


    // $ANTLR start ruleForEachStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:633:1: ruleForEachStatement : ( ( rule__ForEachStatement__Group__0 ) ) ;
    public final void ruleForEachStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:637:2: ( ( ( rule__ForEachStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:638:1: ( ( rule__ForEachStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:638:1: ( ( rule__ForEachStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:639:1: ( rule__ForEachStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:640:1: ( rule__ForEachStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:640:2: rule__ForEachStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__0_in_ruleForEachStatement1300);
            rule__ForEachStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleForEachStatement


    // $ANTLR start entryRuleWhileStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:652:1: entryRuleWhileStatement : ruleWhileStatement EOF ;
    public final void entryRuleWhileStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:653:1: ( ruleWhileStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:654:1: ruleWhileStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleWhileStatement_in_entryRuleWhileStatement1327);
            ruleWhileStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWhileStatement1334); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleWhileStatement


    // $ANTLR start ruleWhileStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:661:1: ruleWhileStatement : ( ( rule__WhileStatement__Group__0 ) ) ;
    public final void ruleWhileStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:665:2: ( ( ( rule__WhileStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:666:1: ( ( rule__WhileStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:666:1: ( ( rule__WhileStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:667:1: ( rule__WhileStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:668:1: ( rule__WhileStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:668:2: rule__WhileStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__0_in_ruleWhileStatement1360);
            rule__WhileStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleWhileStatement


    // $ANTLR start entryRuleForInitStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:680:1: entryRuleForInitStatement : ruleForInitStatement EOF ;
    public final void entryRuleForInitStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:681:1: ( ruleForInitStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:682:1: ruleForInitStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleForInitStatement_in_entryRuleForInitStatement1387);
            ruleForInitStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForInitStatement1394); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleForInitStatement


    // $ANTLR start ruleForInitStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:689:1: ruleForInitStatement : ( ( rule__ForInitStatement__Alternatives ) ) ;
    public final void ruleForInitStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:693:2: ( ( ( rule__ForInitStatement__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:694:1: ( ( rule__ForInitStatement__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:694:1: ( ( rule__ForInitStatement__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:695:1: ( rule__ForInitStatement__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:696:1: ( rule__ForInitStatement__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:696:2: rule__ForInitStatement__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Alternatives_in_ruleForInitStatement1420);
            rule__ForInitStatement__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleForInitStatement


    // $ANTLR start entryRuleForPostStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:708:1: entryRuleForPostStatement : ruleForPostStatement EOF ;
    public final void entryRuleForPostStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:709:1: ( ruleForPostStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:710:1: ruleForPostStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleForPostStatement_in_entryRuleForPostStatement1447);
            ruleForPostStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForPostStatement1454); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleForPostStatement


    // $ANTLR start ruleForPostStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:717:1: ruleForPostStatement : ( ( rule__ForPostStatement__Alternatives ) ) ;
    public final void ruleForPostStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:721:2: ( ( ( rule__ForPostStatement__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:722:1: ( ( rule__ForPostStatement__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:722:1: ( ( rule__ForPostStatement__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:723:1: ( rule__ForPostStatement__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:724:1: ( rule__ForPostStatement__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:724:2: rule__ForPostStatement__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Alternatives_in_ruleForPostStatement1480);
            rule__ForPostStatement__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleForPostStatement


    // $ANTLR start entryRuleAssignStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:736:1: entryRuleAssignStatement : ruleAssignStatement EOF ;
    public final void entryRuleAssignStatement() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:737:1: ( ruleAssignStatement EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:738:1: ruleAssignStatement EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleAssignStatement_in_entryRuleAssignStatement1507);
            ruleAssignStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssignStatement1514); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAssignStatement


    // $ANTLR start ruleAssignStatement
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:745:1: ruleAssignStatement : ( ( rule__AssignStatement__Group__0 ) ) ;
    public final void ruleAssignStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:749:2: ( ( ( rule__AssignStatement__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:750:1: ( ( rule__AssignStatement__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:750:1: ( ( rule__AssignStatement__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:751:1: ( rule__AssignStatement__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:752:1: ( rule__AssignStatement__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:752:2: rule__AssignStatement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group__0_in_ruleAssignStatement1540);
            rule__AssignStatement__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAssignStatement


    // $ANTLR start entryRuleArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:764:1: entryRuleArgument : ruleArgument EOF ;
    public final void entryRuleArgument() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:765:1: ( ruleArgument EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:766:1: ruleArgument EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArgumentRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_entryRuleArgument1567);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getArgumentRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleArgument1574); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleArgument


    // $ANTLR start ruleArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:773:1: ruleArgument : ( ( rule__Argument__Alternatives ) ) ;
    public final void ruleArgument() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:777:2: ( ( ( rule__Argument__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:778:1: ( ( rule__Argument__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:778:1: ( ( rule__Argument__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:779:1: ( rule__Argument__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArgumentAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:780:1: ( rule__Argument__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:780:2: rule__Argument__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Argument__Alternatives_in_ruleArgument1600);
            rule__Argument__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArgumentAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleArgument


    // $ANTLR start entryRuleUnamedArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:792:1: entryRuleUnamedArgument : ruleUnamedArgument EOF ;
    public final void entryRuleUnamedArgument() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:793:1: ( ruleUnamedArgument EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:794:1: ruleUnamedArgument EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getUnamedArgumentRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleUnamedArgument_in_entryRuleUnamedArgument1627);
            ruleUnamedArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getUnamedArgumentRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnamedArgument1634); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleUnamedArgument


    // $ANTLR start ruleUnamedArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:801:1: ruleUnamedArgument : ( ( rule__UnamedArgument__ValueAssignment ) ) ;
    public final void ruleUnamedArgument() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:805:2: ( ( ( rule__UnamedArgument__ValueAssignment ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:806:1: ( ( rule__UnamedArgument__ValueAssignment ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:806:1: ( ( rule__UnamedArgument__ValueAssignment ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:807:1: ( rule__UnamedArgument__ValueAssignment )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getUnamedArgumentAccess().getValueAssignment()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:808:1: ( rule__UnamedArgument__ValueAssignment )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:808:2: rule__UnamedArgument__ValueAssignment
            {
            pushFollow(FollowSets000.FOLLOW_rule__UnamedArgument__ValueAssignment_in_ruleUnamedArgument1660);
            rule__UnamedArgument__ValueAssignment();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getUnamedArgumentAccess().getValueAssignment()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleUnamedArgument


    // $ANTLR start entryRuleNamedArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:820:1: entryRuleNamedArgument : ruleNamedArgument EOF ;
    public final void entryRuleNamedArgument() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:821:1: ( ruleNamedArgument EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:822:1: ruleNamedArgument EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleNamedArgument_in_entryRuleNamedArgument1687);
            ruleNamedArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNamedArgument1694); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleNamedArgument


    // $ANTLR start ruleNamedArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:829:1: ruleNamedArgument : ( ( rule__NamedArgument__Group__0 ) ) ;
    public final void ruleNamedArgument() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:833:2: ( ( ( rule__NamedArgument__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:834:1: ( ( rule__NamedArgument__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:834:1: ( ( rule__NamedArgument__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:835:1: ( rule__NamedArgument__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:836:1: ( rule__NamedArgument__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:836:2: rule__NamedArgument__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group__0_in_ruleNamedArgument1720);
            rule__NamedArgument__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNamedArgument


    // $ANTLR start entryRuleExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:848:1: entryRuleExpression : ruleExpression EOF ;
    public final void entryRuleExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:849:1: ( ruleExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:850:1: ruleExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_entryRuleExpression1747);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression1754); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleExpression


    // $ANTLR start ruleExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:857:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ;
    public final void ruleExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:861:2: ( ( ( rule__Expression__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:862:1: ( ( rule__Expression__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:862:1: ( ( rule__Expression__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:863:1: ( rule__Expression__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:864:1: ( rule__Expression__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:864:2: rule__Expression__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Alternatives_in_ruleExpression1780);
            rule__Expression__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleExpression


    // $ANTLR start entryRuleSimpleExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:876:1: entryRuleSimpleExpression : ruleSimpleExpression EOF ;
    public final void entryRuleSimpleExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:877:1: ( ruleSimpleExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:878:1: ruleSimpleExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleSimpleExpression_in_entryRuleSimpleExpression1807);
            ruleSimpleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSimpleExpression1814); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleSimpleExpression


    // $ANTLR start ruleSimpleExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:885:1: ruleSimpleExpression : ( ( rule__SimpleExpression__Alternatives ) ) ;
    public final void ruleSimpleExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:889:2: ( ( ( rule__SimpleExpression__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:890:1: ( ( rule__SimpleExpression__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:890:1: ( ( rule__SimpleExpression__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:891:1: ( rule__SimpleExpression__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:892:1: ( rule__SimpleExpression__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:892:2: rule__SimpleExpression__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Alternatives_in_ruleSimpleExpression1840);
            rule__SimpleExpression__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleSimpleExpression


    // $ANTLR start entryRuleArrayExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:904:1: entryRuleArrayExpression : ruleArrayExpression EOF ;
    public final void entryRuleArrayExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:905:1: ( ruleArrayExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:906:1: ruleArrayExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArrayExpression_in_entryRuleArrayExpression1867);
            ruleArrayExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleArrayExpression1874); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleArrayExpression


    // $ANTLR start ruleArrayExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:913:1: ruleArrayExpression : ( ( rule__ArrayExpression__Group__0 ) ) ;
    public final void ruleArrayExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:917:2: ( ( ( rule__ArrayExpression__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:918:1: ( ( rule__ArrayExpression__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:918:1: ( ( rule__ArrayExpression__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:919:1: ( rule__ArrayExpression__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:920:1: ( rule__ArrayExpression__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:920:2: rule__ArrayExpression__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__0_in_ruleArrayExpression1900);
            rule__ArrayExpression__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleArrayExpression


    // $ANTLR start entryRulePatternExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:932:1: entryRulePatternExpression : rulePatternExpression EOF ;
    public final void entryRulePatternExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:933:1: ( rulePatternExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:934:1: rulePatternExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePatternExpression_in_entryRulePatternExpression1927);
            rulePatternExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePatternExpression1934); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePatternExpression


    // $ANTLR start rulePatternExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:941:1: rulePatternExpression : ( ( rule__PatternExpression__Alternatives ) ) ;
    public final void rulePatternExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:945:2: ( ( ( rule__PatternExpression__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:946:1: ( ( rule__PatternExpression__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:946:1: ( ( rule__PatternExpression__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:947:1: ( rule__PatternExpression__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:948:1: ( rule__PatternExpression__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:948:2: rule__PatternExpression__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Alternatives_in_rulePatternExpression1960);
            rule__PatternExpression__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePatternExpression


    // $ANTLR start entryRuleStatementExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:960:1: entryRuleStatementExpression : ruleStatementExpression EOF ;
    public final void entryRuleStatementExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:961:1: ( ruleStatementExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:962:1: ruleStatementExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatementExpression_in_entryRuleStatementExpression1987);
            ruleStatementExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatementExpression1994); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleStatementExpression


    // $ANTLR start ruleStatementExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:969:1: ruleStatementExpression : ( ( rule__StatementExpression__Group__0 ) ) ;
    public final void ruleStatementExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:973:2: ( ( ( rule__StatementExpression__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:974:1: ( ( rule__StatementExpression__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:974:1: ( ( rule__StatementExpression__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:975:1: ( rule__StatementExpression__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementExpressionAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:976:1: ( rule__StatementExpression__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:976:2: rule__StatementExpression__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__StatementExpression__Group__0_in_ruleStatementExpression2020);
            rule__StatementExpression__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getStatementExpressionAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleStatementExpression


    // $ANTLR start entryRuleBooleanExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:988:1: entryRuleBooleanExpression : ruleBooleanExpression EOF ;
    public final void entryRuleBooleanExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:989:1: ( ruleBooleanExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:990:1: ruleBooleanExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_entryRuleBooleanExpression2047);
            ruleBooleanExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanExpression2054); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBooleanExpression


    // $ANTLR start ruleBooleanExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:997:1: ruleBooleanExpression : ( ( rule__BooleanExpression__Group__0 ) ) ;
    public final void ruleBooleanExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1001:2: ( ( ( rule__BooleanExpression__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1002:1: ( ( rule__BooleanExpression__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1002:1: ( ( rule__BooleanExpression__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1003:1: ( rule__BooleanExpression__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1004:1: ( rule__BooleanExpression__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1004:2: rule__BooleanExpression__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group__0_in_ruleBooleanExpression2080);
            rule__BooleanExpression__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBooleanExpression


    // $ANTLR start entryRuleBooleanTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1016:1: entryRuleBooleanTerm : ruleBooleanTerm EOF ;
    public final void entryRuleBooleanTerm() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1017:1: ( ruleBooleanTerm EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1018:1: ruleBooleanTerm EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBooleanTerm_in_entryRuleBooleanTerm2107);
            ruleBooleanTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanTerm2114); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBooleanTerm


    // $ANTLR start ruleBooleanTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1025:1: ruleBooleanTerm : ( ( rule__BooleanTerm__Alternatives ) ) ;
    public final void ruleBooleanTerm() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1029:2: ( ( ( rule__BooleanTerm__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1030:1: ( ( rule__BooleanTerm__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1030:1: ( ( rule__BooleanTerm__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1031:1: ( rule__BooleanTerm__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1032:1: ( rule__BooleanTerm__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1032:2: rule__BooleanTerm__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Alternatives_in_ruleBooleanTerm2140);
            rule__BooleanTerm__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBooleanTerm


    // $ANTLR start entryRuleAdditionExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1044:1: entryRuleAdditionExpression : ruleAdditionExpression EOF ;
    public final void entryRuleAdditionExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1045:1: ( ruleAdditionExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1046:1: ruleAdditionExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleAdditionExpression_in_entryRuleAdditionExpression2167);
            ruleAdditionExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdditionExpression2174); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAdditionExpression


    // $ANTLR start ruleAdditionExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1053:1: ruleAdditionExpression : ( ( rule__AdditionExpression__Group__0 ) ) ;
    public final void ruleAdditionExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1057:2: ( ( ( rule__AdditionExpression__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1058:1: ( ( rule__AdditionExpression__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1058:1: ( ( rule__AdditionExpression__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1059:1: ( rule__AdditionExpression__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1060:1: ( rule__AdditionExpression__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1060:2: rule__AdditionExpression__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group__0_in_ruleAdditionExpression2200);
            rule__AdditionExpression__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAdditionExpression


    // $ANTLR start entryRuleMulExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1072:1: entryRuleMulExpression : ruleMulExpression EOF ;
    public final void entryRuleMulExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1073:1: ( ruleMulExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1074:1: ruleMulExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleMulExpression_in_entryRuleMulExpression2227);
            ruleMulExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMulExpression2234); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleMulExpression


    // $ANTLR start ruleMulExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1081:1: ruleMulExpression : ( ( rule__MulExpression__Group__0 ) ) ;
    public final void ruleMulExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1085:2: ( ( ( rule__MulExpression__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1086:1: ( ( rule__MulExpression__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1086:1: ( ( rule__MulExpression__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1087:1: ( rule__MulExpression__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1088:1: ( rule__MulExpression__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1088:2: rule__MulExpression__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group__0_in_ruleMulExpression2260);
            rule__MulExpression__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleMulExpression


    // $ANTLR start entryRuleTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1100:1: entryRuleTerm : ruleTerm EOF ;
    public final void entryRuleTerm() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1101:1: ( ruleTerm EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1102:1: ruleTerm EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_entryRuleTerm2287);
            ruleTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTermRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTerm2294); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleTerm


    // $ANTLR start ruleTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1109:1: ruleTerm : ( ( rule__Term__Alternatives ) ) ;
    public final void ruleTerm() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1113:2: ( ( ( rule__Term__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1114:1: ( ( rule__Term__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1114:1: ( ( rule__Term__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1115:1: ( rule__Term__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1116:1: ( rule__Term__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1116:2: rule__Term__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Term__Alternatives_in_ruleTerm2320);
            rule__Term__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTermAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleTerm


    // $ANTLR start entryRuleComplexTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1128:1: entryRuleComplexTerm : ruleComplexTerm EOF ;
    public final void entryRuleComplexTerm() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1129:1: ( ruleComplexTerm EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1130:1: ruleComplexTerm EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleComplexTerm_in_entryRuleComplexTerm2347);
            ruleComplexTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComplexTerm2354); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleComplexTerm


    // $ANTLR start ruleComplexTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1137:1: ruleComplexTerm : ( ( rule__ComplexTerm__Group__0 ) ) ;
    public final void ruleComplexTerm() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1141:2: ( ( ( rule__ComplexTerm__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1142:1: ( ( rule__ComplexTerm__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1142:1: ( ( rule__ComplexTerm__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1143:1: ( rule__ComplexTerm__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1144:1: ( rule__ComplexTerm__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1144:2: rule__ComplexTerm__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group__0_in_ruleComplexTerm2380);
            rule__ComplexTerm__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleComplexTerm


    // $ANTLR start entryRuleSimpleTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1156:1: entryRuleSimpleTerm : ruleSimpleTerm EOF ;
    public final void entryRuleSimpleTerm() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1157:1: ( ruleSimpleTerm EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1158:1: ruleSimpleTerm EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleSimpleTerm_in_entryRuleSimpleTerm2407);
            ruleSimpleTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSimpleTerm2414); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleSimpleTerm


    // $ANTLR start ruleSimpleTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1165:1: ruleSimpleTerm : ( ( rule__SimpleTerm__Alternatives ) ) ;
    public final void ruleSimpleTerm() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1169:2: ( ( ( rule__SimpleTerm__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1170:1: ( ( rule__SimpleTerm__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1170:1: ( ( rule__SimpleTerm__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1171:1: ( rule__SimpleTerm__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1172:1: ( rule__SimpleTerm__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1172:2: rule__SimpleTerm__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Alternatives_in_ruleSimpleTerm2440);
            rule__SimpleTerm__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleSimpleTerm


    // $ANTLR start entryRuleVariableTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1184:1: entryRuleVariableTerm : ruleVariableTerm EOF ;
    public final void entryRuleVariableTerm() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1185:1: ( ruleVariableTerm EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1186:1: ruleVariableTerm EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVariableTermRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleVariableTerm_in_entryRuleVariableTerm2467);
            ruleVariableTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getVariableTermRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVariableTerm2474); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleVariableTerm


    // $ANTLR start ruleVariableTerm
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1193:1: ruleVariableTerm : ( ( rule__VariableTerm__OperatorAssignment ) ) ;
    public final void ruleVariableTerm() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1197:2: ( ( ( rule__VariableTerm__OperatorAssignment ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1198:1: ( ( rule__VariableTerm__OperatorAssignment ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1198:1: ( ( rule__VariableTerm__OperatorAssignment ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1199:1: ( rule__VariableTerm__OperatorAssignment )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVariableTermAccess().getOperatorAssignment()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1200:1: ( rule__VariableTerm__OperatorAssignment )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1200:2: rule__VariableTerm__OperatorAssignment
            {
            pushFollow(FollowSets000.FOLLOW_rule__VariableTerm__OperatorAssignment_in_ruleVariableTerm2500);
            rule__VariableTerm__OperatorAssignment();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getVariableTermAccess().getOperatorAssignment()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleVariableTerm


    // $ANTLR start entryRuleLiteralExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1212:1: entryRuleLiteralExpression : ruleLiteralExpression EOF ;
    public final void entryRuleLiteralExpression() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1213:1: ( ruleLiteralExpression EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1214:1: ruleLiteralExpression EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLiteralExpressionRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleLiteralExpression_in_entryRuleLiteralExpression2527);
            ruleLiteralExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLiteralExpressionRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLiteralExpression2534); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleLiteralExpression


    // $ANTLR start ruleLiteralExpression
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1221:1: ruleLiteralExpression : ( ( rule__LiteralExpression__Alternatives ) ) ;
    public final void ruleLiteralExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1225:2: ( ( ( rule__LiteralExpression__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1226:1: ( ( rule__LiteralExpression__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1226:1: ( ( rule__LiteralExpression__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1227:1: ( rule__LiteralExpression__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLiteralExpressionAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1228:1: ( rule__LiteralExpression__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1228:2: rule__LiteralExpression__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__LiteralExpression__Alternatives_in_ruleLiteralExpression2560);
            rule__LiteralExpression__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLiteralExpressionAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleLiteralExpression


    // $ANTLR start entryRulePatternMatchInfoProxy
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1240:1: entryRulePatternMatchInfoProxy : rulePatternMatchInfoProxy EOF ;
    public final void entryRulePatternMatchInfoProxy() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1241:1: ( rulePatternMatchInfoProxy EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1242:1: rulePatternMatchInfoProxy EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePatternMatchInfoProxy_in_entryRulePatternMatchInfoProxy2587);
            rulePatternMatchInfoProxy();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePatternMatchInfoProxy2594); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePatternMatchInfoProxy


    // $ANTLR start rulePatternMatchInfoProxy
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1249:1: rulePatternMatchInfoProxy : ( ( rule__PatternMatchInfoProxy__Group__0 ) ) ;
    public final void rulePatternMatchInfoProxy() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1253:2: ( ( ( rule__PatternMatchInfoProxy__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1254:1: ( ( rule__PatternMatchInfoProxy__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1254:1: ( ( rule__PatternMatchInfoProxy__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1255:1: ( rule__PatternMatchInfoProxy__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1256:1: ( rule__PatternMatchInfoProxy__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1256:2: rule__PatternMatchInfoProxy__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__0_in_rulePatternMatchInfoProxy2620);
            rule__PatternMatchInfoProxy__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePatternMatchInfoProxy


    // $ANTLR start entryRuleLocatorProxy
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1268:1: entryRuleLocatorProxy : ruleLocatorProxy EOF ;
    public final void entryRuleLocatorProxy() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1269:1: ( ruleLocatorProxy EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1270:1: ruleLocatorProxy EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleLocatorProxy_in_entryRuleLocatorProxy2647);
            ruleLocatorProxy();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLocatorProxy2654); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleLocatorProxy


    // $ANTLR start ruleLocatorProxy
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1277:1: ruleLocatorProxy : ( ( rule__LocatorProxy__Group__0 ) ) ;
    public final void ruleLocatorProxy() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1281:2: ( ( ( rule__LocatorProxy__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1282:1: ( ( rule__LocatorProxy__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1282:1: ( ( rule__LocatorProxy__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1283:1: ( rule__LocatorProxy__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1284:1: ( rule__LocatorProxy__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1284:2: rule__LocatorProxy__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__0_in_ruleLocatorProxy2680);
            rule__LocatorProxy__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleLocatorProxy


    // $ANTLR start entryRuleTypeProxy
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1296:1: entryRuleTypeProxy : ruleTypeProxy EOF ;
    public final void entryRuleTypeProxy() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1297:1: ( ruleTypeProxy EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1298:1: ruleTypeProxy EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleTypeProxy_in_entryRuleTypeProxy2707);
            ruleTypeProxy();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeProxy2714); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleTypeProxy


    // $ANTLR start ruleTypeProxy
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1305:1: ruleTypeProxy : ( ( rule__TypeProxy__Group__0 ) ) ;
    public final void ruleTypeProxy() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1309:2: ( ( ( rule__TypeProxy__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1310:1: ( ( rule__TypeProxy__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1310:1: ( ( rule__TypeProxy__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1311:1: ( rule__TypeProxy__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1312:1: ( rule__TypeProxy__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1312:2: rule__TypeProxy__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__0_in_ruleTypeProxy2740);
            rule__TypeProxy__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleTypeProxy


    // $ANTLR start entryRuleProxyArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1324:1: entryRuleProxyArgument : ruleProxyArgument EOF ;
    public final void entryRuleProxyArgument() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1325:1: ( ruleProxyArgument EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1326:1: ruleProxyArgument EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleProxyArgument_in_entryRuleProxyArgument2767);
            ruleProxyArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProxyArgument2774); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleProxyArgument


    // $ANTLR start ruleProxyArgument
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1333:1: ruleProxyArgument : ( ( rule__ProxyArgument__Group__0 ) ) ;
    public final void ruleProxyArgument() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1337:2: ( ( ( rule__ProxyArgument__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1338:1: ( ( rule__ProxyArgument__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1338:1: ( ( rule__ProxyArgument__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1339:1: ( rule__ProxyArgument__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1340:1: ( rule__ProxyArgument__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1340:2: rule__ProxyArgument__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__0_in_ruleProxyArgument2800);
            rule__ProxyArgument__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleProxyArgument


    // $ANTLR start entryRuleQualifiedID
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1352:1: entryRuleQualifiedID : ruleQualifiedID EOF ;
    public final void entryRuleQualifiedID() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1353:1: ( ruleQualifiedID EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1354:1: ruleQualifiedID EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getQualifiedIDRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedID_in_entryRuleQualifiedID2827);
            ruleQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getQualifiedIDRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedID2834); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleQualifiedID


    // $ANTLR start ruleQualifiedID
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1361:1: ruleQualifiedID : ( ( rule__QualifiedID__Group__0 ) ) ;
    public final void ruleQualifiedID() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1365:2: ( ( ( rule__QualifiedID__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1366:1: ( ( rule__QualifiedID__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1366:1: ( ( rule__QualifiedID__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1367:1: ( rule__QualifiedID__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getQualifiedIDAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1368:1: ( rule__QualifiedID__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1368:2: rule__QualifiedID__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group__0_in_ruleQualifiedID2860);
            rule__QualifiedID__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getQualifiedIDAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleQualifiedID


    // $ANTLR start entryRuleDotQualifiedID
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1380:1: entryRuleDotQualifiedID : ruleDotQualifiedID EOF ;
    public final void entryRuleDotQualifiedID() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1381:1: ( ruleDotQualifiedID EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1382:1: ruleDotQualifiedID EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDotQualifiedIDRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDotQualifiedID_in_entryRuleDotQualifiedID2887);
            ruleDotQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDotQualifiedIDRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDotQualifiedID2894); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDotQualifiedID


    // $ANTLR start ruleDotQualifiedID
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1389:1: ruleDotQualifiedID : ( ( rule__DotQualifiedID__Group__0 ) ) ;
    public final void ruleDotQualifiedID() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1393:2: ( ( ( rule__DotQualifiedID__Group__0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1394:1: ( ( rule__DotQualifiedID__Group__0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1394:1: ( ( rule__DotQualifiedID__Group__0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1395:1: ( rule__DotQualifiedID__Group__0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDotQualifiedIDAccess().getGroup()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1396:1: ( rule__DotQualifiedID__Group__0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1396:2: rule__DotQualifiedID__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group__0_in_ruleDotQualifiedID2920);
            rule__DotQualifiedID__Group__0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getDotQualifiedIDAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDotQualifiedID


    // $ANTLR start entryRuleBOOLEAN_CONSTANTS
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1408:1: entryRuleBOOLEAN_CONSTANTS : ruleBOOLEAN_CONSTANTS EOF ;
    public final void entryRuleBOOLEAN_CONSTANTS() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1409:1: ( ruleBOOLEAN_CONSTANTS EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1410:1: ruleBOOLEAN_CONSTANTS EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBOOLEAN_CONSTANTSRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBOOLEAN_CONSTANTS_in_entryRuleBOOLEAN_CONSTANTS2947);
            ruleBOOLEAN_CONSTANTS();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBOOLEAN_CONSTANTSRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBOOLEAN_CONSTANTS2954); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBOOLEAN_CONSTANTS


    // $ANTLR start ruleBOOLEAN_CONSTANTS
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1417:1: ruleBOOLEAN_CONSTANTS : ( ( rule__BOOLEAN_CONSTANTS__Alternatives ) ) ;
    public final void ruleBOOLEAN_CONSTANTS() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1421:2: ( ( ( rule__BOOLEAN_CONSTANTS__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1422:1: ( ( rule__BOOLEAN_CONSTANTS__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1422:1: ( ( rule__BOOLEAN_CONSTANTS__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1423:1: ( rule__BOOLEAN_CONSTANTS__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBOOLEAN_CONSTANTSAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1424:1: ( rule__BOOLEAN_CONSTANTS__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1424:2: rule__BOOLEAN_CONSTANTS__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__BOOLEAN_CONSTANTS__Alternatives_in_ruleBOOLEAN_CONSTANTS2980);
            rule__BOOLEAN_CONSTANTS__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBOOLEAN_CONSTANTSAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBOOLEAN_CONSTANTS


    // $ANTLR start entryRulePOSITION_CONSTANTS
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1436:1: entryRulePOSITION_CONSTANTS : rulePOSITION_CONSTANTS EOF ;
    public final void entryRulePOSITION_CONSTANTS() throws RecognitionException {
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1437:1: ( rulePOSITION_CONSTANTS EOF )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1438:1: rulePOSITION_CONSTANTS EOF
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPOSITION_CONSTANTSRule()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePOSITION_CONSTANTS_in_entryRulePOSITION_CONSTANTS3007);
            rulePOSITION_CONSTANTS();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPOSITION_CONSTANTSRule()); 
            }
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePOSITION_CONSTANTS3014); if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePOSITION_CONSTANTS


    // $ANTLR start rulePOSITION_CONSTANTS
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1445:1: rulePOSITION_CONSTANTS : ( ( rule__POSITION_CONSTANTS__Alternatives ) ) ;
    public final void rulePOSITION_CONSTANTS() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1449:2: ( ( ( rule__POSITION_CONSTANTS__Alternatives ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1450:1: ( ( rule__POSITION_CONSTANTS__Alternatives ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1450:1: ( ( rule__POSITION_CONSTANTS__Alternatives ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1451:1: ( rule__POSITION_CONSTANTS__Alternatives )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPOSITION_CONSTANTSAccess().getAlternatives()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1452:1: ( rule__POSITION_CONSTANTS__Alternatives )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1452:2: rule__POSITION_CONSTANTS__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__POSITION_CONSTANTS__Alternatives_in_rulePOSITION_CONSTANTS3040);
            rule__POSITION_CONSTANTS__Alternatives();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPOSITION_CONSTANTSAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePOSITION_CONSTANTS


    // $ANTLR start rule__Declaration__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1464:1: rule__Declaration__Alternatives : ( ( rulePatternDeclaration ) | ( ruleProxies ) | ( ruleConstantDeclaration ) );
    public final void rule__Declaration__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1468:1: ( ( rulePatternDeclaration ) | ( ruleProxies ) | ( ruleConstantDeclaration ) )
            int alt1=3;
            switch ( input.LA(1) ) {
            case 47:
                {
                alt1=1;
                }
                break;
            case 70:
            case 73:
            case 74:
                {
                alt1=2;
                }
                break;
            case 52:
                {
                alt1=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1464:1: rule__Declaration__Alternatives : ( ( rulePatternDeclaration ) | ( ruleProxies ) | ( ruleConstantDeclaration ) );", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1469:1: ( rulePatternDeclaration )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1469:1: ( rulePatternDeclaration )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1470:1: rulePatternDeclaration
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getDeclarationAccess().getPatternDeclarationParserRuleCall_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_rulePatternDeclaration_in_rule__Declaration__Alternatives3076);
                    rulePatternDeclaration();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getDeclarationAccess().getPatternDeclarationParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1475:6: ( ruleProxies )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1475:6: ( ruleProxies )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1476:1: ruleProxies
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getDeclarationAccess().getProxiesParserRuleCall_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleProxies_in_rule__Declaration__Alternatives3093);
                    ruleProxies();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getDeclarationAccess().getProxiesParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1481:6: ( ruleConstantDeclaration )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1481:6: ( ruleConstantDeclaration )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1482:1: ruleConstantDeclaration
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleConstantDeclaration_in_rule__Declaration__Alternatives3110);
                    ruleConstantDeclaration();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Declaration__Alternatives


    // $ANTLR start rule__Proxies__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1492:1: rule__Proxies__Alternatives : ( ( rulePatternMatchInfoProxy ) | ( ruleLocatorProxy ) | ( ruleTypeProxy ) );
    public final void rule__Proxies__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1496:1: ( ( rulePatternMatchInfoProxy ) | ( ruleLocatorProxy ) | ( ruleTypeProxy ) )
            int alt2=3;
            switch ( input.LA(1) ) {
            case 70:
                {
                alt2=1;
                }
                break;
            case 73:
                {
                alt2=2;
                }
                break;
            case 74:
                {
                alt2=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1492:1: rule__Proxies__Alternatives : ( ( rulePatternMatchInfoProxy ) | ( ruleLocatorProxy ) | ( ruleTypeProxy ) );", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1497:1: ( rulePatternMatchInfoProxy )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1497:1: ( rulePatternMatchInfoProxy )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1498:1: rulePatternMatchInfoProxy
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getProxiesAccess().getPatternMatchInfoProxyParserRuleCall_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_rulePatternMatchInfoProxy_in_rule__Proxies__Alternatives3142);
                    rulePatternMatchInfoProxy();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getProxiesAccess().getPatternMatchInfoProxyParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1503:6: ( ruleLocatorProxy )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1503:6: ( ruleLocatorProxy )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1504:1: ruleLocatorProxy
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getProxiesAccess().getLocatorProxyParserRuleCall_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleLocatorProxy_in_rule__Proxies__Alternatives3159);
                    ruleLocatorProxy();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getProxiesAccess().getLocatorProxyParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1509:6: ( ruleTypeProxy )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1509:6: ( ruleTypeProxy )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1510:1: ruleTypeProxy
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getProxiesAccess().getTypeProxyParserRuleCall_2()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleTypeProxy_in_rule__Proxies__Alternatives3176);
                    ruleTypeProxy();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getProxiesAccess().getTypeProxyParserRuleCall_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proxies__Alternatives


    // $ANTLR start rule__Statement__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1520:1: rule__Statement__Alternatives : ( ( ruleCompositeStatement ) | ( ( rule__Statement__Group_1__0 ) ) | ( ( rule__Statement__Group_2__0 ) ) | ( ruleIfStatement ) | ( ( rule__Statement__Group_4__0 ) ) | ( ruleLoopStatement ) | ( ( rule__Statement__Group_6__0 ) ) );
    public final void rule__Statement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1524:1: ( ( ruleCompositeStatement ) | ( ( rule__Statement__Group_1__0 ) ) | ( ( rule__Statement__Group_2__0 ) ) | ( ruleIfStatement ) | ( ( rule__Statement__Group_4__0 ) ) | ( ruleLoopStatement ) | ( ( rule__Statement__Group_6__0 ) ) )
            int alt3=7;
            switch ( input.LA(1) ) {
            case 54:
                {
                alt3=1;
                }
                break;
            case 56:
                {
                alt3=2;
                }
                break;
            case 57:
            case 78:
                {
                alt3=3;
                }
                break;
            case 63:
                {
                alt3=4;
                }
                break;
            case RULE_ID:
            case RULE_STRING:
            case RULE_VERBATIM_STRING:
            case RULE_INT:
            case 36:
            case 37:
            case 38:
            case 39:
            case 40:
            case 41:
            case 42:
            case 43:
            case 48:
            case 61:
            case 69:
            case 82:
            case 84:
            case 85:
            case 86:
            case 87:
            case 88:
                {
                alt3=5;
                }
                break;
            case 58:
            case 79:
            case 80:
                {
                alt3=6;
                }
                break;
            case 45:
                {
                alt3=7;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1520:1: rule__Statement__Alternatives : ( ( ruleCompositeStatement ) | ( ( rule__Statement__Group_1__0 ) ) | ( ( rule__Statement__Group_2__0 ) ) | ( ruleIfStatement ) | ( ( rule__Statement__Group_4__0 ) ) | ( ruleLoopStatement ) | ( ( rule__Statement__Group_6__0 ) ) );", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1525:1: ( ruleCompositeStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1525:1: ( ruleCompositeStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1526:1: ruleCompositeStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getCompositeStatementParserRuleCall_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleCompositeStatement_in_rule__Statement__Alternatives3208);
                    ruleCompositeStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getCompositeStatementParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1531:6: ( ( rule__Statement__Group_1__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1531:6: ( ( rule__Statement__Group_1__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1532:1: ( rule__Statement__Group_1__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getGroup_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1533:1: ( rule__Statement__Group_1__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1533:2: rule__Statement__Group_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_1__0_in_rule__Statement__Alternatives3225);
                    rule__Statement__Group_1__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1537:6: ( ( rule__Statement__Group_2__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1537:6: ( ( rule__Statement__Group_2__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1538:1: ( rule__Statement__Group_2__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getGroup_2()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1539:1: ( rule__Statement__Group_2__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1539:2: rule__Statement__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_2__0_in_rule__Statement__Alternatives3243);
                    rule__Statement__Group_2__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getGroup_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1543:6: ( ruleIfStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1543:6: ( ruleIfStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1544:1: ruleIfStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getIfStatementParserRuleCall_3()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleIfStatement_in_rule__Statement__Alternatives3261);
                    ruleIfStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getIfStatementParserRuleCall_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1549:6: ( ( rule__Statement__Group_4__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1549:6: ( ( rule__Statement__Group_4__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1550:1: ( rule__Statement__Group_4__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getGroup_4()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1551:1: ( rule__Statement__Group_4__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1551:2: rule__Statement__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_4__0_in_rule__Statement__Alternatives3278);
                    rule__Statement__Group_4__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getGroup_4()); 
                    }

                    }


                    }
                    break;
                case 6 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1555:6: ( ruleLoopStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1555:6: ( ruleLoopStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1556:1: ruleLoopStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_5()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleLoopStatement_in_rule__Statement__Alternatives3296);
                    ruleLoopStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_5()); 
                    }

                    }


                    }
                    break;
                case 7 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1561:6: ( ( rule__Statement__Group_6__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1561:6: ( ( rule__Statement__Group_6__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1562:1: ( rule__Statement__Group_6__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getGroup_6()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1563:1: ( rule__Statement__Group_6__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1563:2: rule__Statement__Group_6__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_6__0_in_rule__Statement__Alternatives3313);
                    rule__Statement__Group_6__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getGroup_6()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Alternatives


    // $ANTLR start rule__BlockSpecialStatement__NameAlternatives_1_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1572:1: rule__BlockSpecialStatement__NameAlternatives_1_0 : ( ( 'continue' ) | ( 'break' ) );
    public final void rule__BlockSpecialStatement__NameAlternatives_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1576:1: ( ( 'continue' ) | ( 'break' ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==12) ) {
                alt4=1;
            }
            else if ( (LA4_0==13) ) {
                alt4=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1572:1: rule__BlockSpecialStatement__NameAlternatives_1_0 : ( ( 'continue' ) | ( 'break' ) );", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1577:1: ( 'continue' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1577:1: ( 'continue' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1578:1: 'continue'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBlockSpecialStatementAccess().getNameContinueKeyword_1_0_0()); 
                    }
                    match(input,12,FollowSets000.FOLLOW_12_in_rule__BlockSpecialStatement__NameAlternatives_1_03347); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBlockSpecialStatementAccess().getNameContinueKeyword_1_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1585:6: ( 'break' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1585:6: ( 'break' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1586:1: 'break'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBlockSpecialStatementAccess().getNameBreakKeyword_1_0_1()); 
                    }
                    match(input,13,FollowSets000.FOLLOW_13_in_rule__BlockSpecialStatement__NameAlternatives_1_03367); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBlockSpecialStatementAccess().getNameBreakKeyword_1_0_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BlockSpecialStatement__NameAlternatives_1_0


    // $ANTLR start rule__CompositeStatement__ChildrenAlternatives_2_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1598:1: rule__CompositeStatement__ChildrenAlternatives_2_0 : ( ( ruleStatement ) | ( ruleReturnStatement ) | ( ruleBlockSpecialStatement ) );
    public final void rule__CompositeStatement__ChildrenAlternatives_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1602:1: ( ( ruleStatement ) | ( ruleReturnStatement ) | ( ruleBlockSpecialStatement ) )
            int alt5=3;
            switch ( input.LA(1) ) {
            case RULE_ID:
            case RULE_STRING:
            case RULE_VERBATIM_STRING:
            case RULE_INT:
            case 36:
            case 37:
            case 38:
            case 39:
            case 40:
            case 41:
            case 42:
            case 43:
            case 45:
            case 48:
            case 54:
            case 56:
            case 57:
            case 58:
            case 61:
            case 63:
            case 69:
            case 78:
            case 79:
            case 80:
            case 82:
            case 84:
            case 85:
            case 86:
            case 87:
            case 88:
                {
                alt5=1;
                }
                break;
            case 77:
                {
                alt5=2;
                }
                break;
            case 12:
            case 13:
                {
                alt5=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1598:1: rule__CompositeStatement__ChildrenAlternatives_2_0 : ( ( ruleStatement ) | ( ruleReturnStatement ) | ( ruleBlockSpecialStatement ) );", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1603:1: ( ruleStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1603:1: ( ruleStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1604:1: ruleStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getCompositeStatementAccess().getChildrenStatementParserRuleCall_2_0_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__CompositeStatement__ChildrenAlternatives_2_03401);
                    ruleStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getCompositeStatementAccess().getChildrenStatementParserRuleCall_2_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1609:6: ( ruleReturnStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1609:6: ( ruleReturnStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1610:1: ruleReturnStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getCompositeStatementAccess().getChildrenReturnStatementParserRuleCall_2_0_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleReturnStatement_in_rule__CompositeStatement__ChildrenAlternatives_2_03418);
                    ruleReturnStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getCompositeStatementAccess().getChildrenReturnStatementParserRuleCall_2_0_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1615:6: ( ruleBlockSpecialStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1615:6: ( ruleBlockSpecialStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1616:1: ruleBlockSpecialStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getCompositeStatementAccess().getChildrenBlockSpecialStatementParserRuleCall_2_0_2()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleBlockSpecialStatement_in_rule__CompositeStatement__ChildrenAlternatives_2_03435);
                    ruleBlockSpecialStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getCompositeStatementAccess().getChildrenBlockSpecialStatementParserRuleCall_2_0_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__ChildrenAlternatives_2_0


    // $ANTLR start rule__MatchOption__NameAlternatives_0_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1626:1: rule__MatchOption__NameAlternatives_0_0 : ( ( 'minOccur' ) | ( 'maxOccur' ) | ( 'returnLastOccurrenceOnly' ) | ( 'input' ) | ( 'position' ) | ( 'globalPosition' ) | ( 'updateParentPosition' ) );
    public final void rule__MatchOption__NameAlternatives_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1630:1: ( ( 'minOccur' ) | ( 'maxOccur' ) | ( 'returnLastOccurrenceOnly' ) | ( 'input' ) | ( 'position' ) | ( 'globalPosition' ) | ( 'updateParentPosition' ) )
            int alt6=7;
            switch ( input.LA(1) ) {
            case 14:
                {
                alt6=1;
                }
                break;
            case 15:
                {
                alt6=2;
                }
                break;
            case 16:
                {
                alt6=3;
                }
                break;
            case 17:
                {
                alt6=4;
                }
                break;
            case 18:
                {
                alt6=5;
                }
                break;
            case 19:
                {
                alt6=6;
                }
                break;
            case 20:
                {
                alt6=7;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1626:1: rule__MatchOption__NameAlternatives_0_0 : ( ( 'minOccur' ) | ( 'maxOccur' ) | ( 'returnLastOccurrenceOnly' ) | ( 'input' ) | ( 'position' ) | ( 'globalPosition' ) | ( 'updateParentPosition' ) );", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1631:1: ( 'minOccur' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1631:1: ( 'minOccur' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1632:1: 'minOccur'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMatchOptionAccess().getNameMinOccurKeyword_0_0_0()); 
                    }
                    match(input,14,FollowSets000.FOLLOW_14_in_rule__MatchOption__NameAlternatives_0_03468); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMatchOptionAccess().getNameMinOccurKeyword_0_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1639:6: ( 'maxOccur' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1639:6: ( 'maxOccur' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1640:1: 'maxOccur'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMatchOptionAccess().getNameMaxOccurKeyword_0_0_1()); 
                    }
                    match(input,15,FollowSets000.FOLLOW_15_in_rule__MatchOption__NameAlternatives_0_03488); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMatchOptionAccess().getNameMaxOccurKeyword_0_0_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1647:6: ( 'returnLastOccurrenceOnly' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1647:6: ( 'returnLastOccurrenceOnly' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1648:1: 'returnLastOccurrenceOnly'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMatchOptionAccess().getNameReturnLastOccurrenceOnlyKeyword_0_0_2()); 
                    }
                    match(input,16,FollowSets000.FOLLOW_16_in_rule__MatchOption__NameAlternatives_0_03508); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMatchOptionAccess().getNameReturnLastOccurrenceOnlyKeyword_0_0_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1655:6: ( 'input' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1655:6: ( 'input' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1656:1: 'input'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMatchOptionAccess().getNameInputKeyword_0_0_3()); 
                    }
                    match(input,17,FollowSets000.FOLLOW_17_in_rule__MatchOption__NameAlternatives_0_03528); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMatchOptionAccess().getNameInputKeyword_0_0_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1663:6: ( 'position' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1663:6: ( 'position' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1664:1: 'position'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMatchOptionAccess().getNamePositionKeyword_0_0_4()); 
                    }
                    match(input,18,FollowSets000.FOLLOW_18_in_rule__MatchOption__NameAlternatives_0_03548); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMatchOptionAccess().getNamePositionKeyword_0_0_4()); 
                    }

                    }


                    }
                    break;
                case 6 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1671:6: ( 'globalPosition' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1671:6: ( 'globalPosition' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1672:1: 'globalPosition'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMatchOptionAccess().getNameGlobalPositionKeyword_0_0_5()); 
                    }
                    match(input,19,FollowSets000.FOLLOW_19_in_rule__MatchOption__NameAlternatives_0_03568); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMatchOptionAccess().getNameGlobalPositionKeyword_0_0_5()); 
                    }

                    }


                    }
                    break;
                case 7 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1679:6: ( 'updateParentPosition' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1679:6: ( 'updateParentPosition' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1680:1: 'updateParentPosition'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMatchOptionAccess().getNameUpdateParentPositionKeyword_0_0_6()); 
                    }
                    match(input,20,FollowSets000.FOLLOW_20_in_rule__MatchOption__NameAlternatives_0_03588); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMatchOptionAccess().getNameUpdateParentPositionKeyword_0_0_6()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__NameAlternatives_0_0


    // $ANTLR start rule__LoopStatement__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1692:1: rule__LoopStatement__Alternatives : ( ( ruleForStatement ) | ( ruleForEachStatement ) | ( ruleWhileStatement ) );
    public final void rule__LoopStatement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1696:1: ( ( ruleForStatement ) | ( ruleForEachStatement ) | ( ruleWhileStatement ) )
            int alt7=3;
            switch ( input.LA(1) ) {
            case 58:
                {
                alt7=1;
                }
                break;
            case 79:
                {
                alt7=2;
                }
                break;
            case 80:
                {
                alt7=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1692:1: rule__LoopStatement__Alternatives : ( ( ruleForStatement ) | ( ruleForEachStatement ) | ( ruleWhileStatement ) );", 7, 0, input);

                throw nvae;
            }

            switch (alt7) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1697:1: ( ruleForStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1697:1: ( ruleForStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1698:1: ruleForStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLoopStatementAccess().getForStatementParserRuleCall_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleForStatement_in_rule__LoopStatement__Alternatives3622);
                    ruleForStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getLoopStatementAccess().getForStatementParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1703:6: ( ruleForEachStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1703:6: ( ruleForEachStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1704:1: ruleForEachStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLoopStatementAccess().getForEachStatementParserRuleCall_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleForEachStatement_in_rule__LoopStatement__Alternatives3639);
                    ruleForEachStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getLoopStatementAccess().getForEachStatementParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1709:6: ( ruleWhileStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1709:6: ( ruleWhileStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1710:1: ruleWhileStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLoopStatementAccess().getWhileStatementParserRuleCall_2()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleWhileStatement_in_rule__LoopStatement__Alternatives3656);
                    ruleWhileStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getLoopStatementAccess().getWhileStatementParserRuleCall_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LoopStatement__Alternatives


    // $ANTLR start rule__ForInitStatement__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1720:1: rule__ForInitStatement__Alternatives : ( ( ( rule__ForInitStatement__Group_0__0 ) ) | ( ( rule__ForInitStatement__ChildrenAssignment_1 ) ) );
    public final void rule__ForInitStatement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1724:1: ( ( ( rule__ForInitStatement__Group_0__0 ) ) | ( ( rule__ForInitStatement__ChildrenAssignment_1 ) ) )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( ((LA8_0>=RULE_ID && LA8_0<=RULE_INT)||(LA8_0>=36 && LA8_0<=43)||LA8_0==48||LA8_0==56||LA8_0==69||LA8_0==82||(LA8_0>=84 && LA8_0<=88)) ) {
                alt8=1;
            }
            else if ( (LA8_0==EOF||LA8_0==45) ) {
                alt8=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1720:1: rule__ForInitStatement__Alternatives : ( ( ( rule__ForInitStatement__Group_0__0 ) ) | ( ( rule__ForInitStatement__ChildrenAssignment_1 ) ) );", 8, 0, input);

                throw nvae;
            }
            switch (alt8) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1725:1: ( ( rule__ForInitStatement__Group_0__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1725:1: ( ( rule__ForInitStatement__Group_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1726:1: ( rule__ForInitStatement__Group_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForInitStatementAccess().getGroup_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1727:1: ( rule__ForInitStatement__Group_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1727:2: rule__ForInitStatement__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0__0_in_rule__ForInitStatement__Alternatives3688);
                    rule__ForInitStatement__Group_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getForInitStatementAccess().getGroup_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1731:6: ( ( rule__ForInitStatement__ChildrenAssignment_1 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1731:6: ( ( rule__ForInitStatement__ChildrenAssignment_1 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1732:1: ( rule__ForInitStatement__ChildrenAssignment_1 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForInitStatementAccess().getChildrenAssignment_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1733:1: ( rule__ForInitStatement__ChildrenAssignment_1 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1733:2: rule__ForInitStatement__ChildrenAssignment_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__ChildrenAssignment_1_in_rule__ForInitStatement__Alternatives3706);
                    rule__ForInitStatement__ChildrenAssignment_1();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getForInitStatementAccess().getChildrenAssignment_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Alternatives


    // $ANTLR start rule__ForInitStatement__ChildrenAlternatives_0_0_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1742:1: rule__ForInitStatement__ChildrenAlternatives_0_0_0 : ( ( ruleDeclarationStatement ) | ( ruleAssignStatement ) );
    public final void rule__ForInitStatement__ChildrenAlternatives_0_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1746:1: ( ( ruleDeclarationStatement ) | ( ruleAssignStatement ) )
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==56) ) {
                alt9=1;
            }
            else if ( ((LA9_0>=RULE_ID && LA9_0<=RULE_INT)||(LA9_0>=36 && LA9_0<=43)||LA9_0==48||LA9_0==69||LA9_0==82||(LA9_0>=84 && LA9_0<=88)) ) {
                alt9=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1742:1: rule__ForInitStatement__ChildrenAlternatives_0_0_0 : ( ( ruleDeclarationStatement ) | ( ruleAssignStatement ) );", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1747:1: ( ruleDeclarationStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1747:1: ( ruleDeclarationStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1748:1: ruleDeclarationStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForInitStatementAccess().getChildrenDeclarationStatementParserRuleCall_0_0_0_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleDeclarationStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_0_03739);
                    ruleDeclarationStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getForInitStatementAccess().getChildrenDeclarationStatementParserRuleCall_0_0_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1753:6: ( ruleAssignStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1753:6: ( ruleAssignStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1754:1: ruleAssignStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForInitStatementAccess().getChildrenAssignStatementParserRuleCall_0_0_0_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleAssignStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_0_03756);
                    ruleAssignStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getForInitStatementAccess().getChildrenAssignStatementParserRuleCall_0_0_0_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__ChildrenAlternatives_0_0_0


    // $ANTLR start rule__ForInitStatement__ChildrenAlternatives_0_1_1_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1764:1: rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 : ( ( ruleDeclarationStatement ) | ( ruleAssignStatement ) );
    public final void rule__ForInitStatement__ChildrenAlternatives_0_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1768:1: ( ( ruleDeclarationStatement ) | ( ruleAssignStatement ) )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==56) ) {
                alt10=1;
            }
            else if ( ((LA10_0>=RULE_ID && LA10_0<=RULE_INT)||(LA10_0>=36 && LA10_0<=43)||LA10_0==48||LA10_0==69||LA10_0==82||(LA10_0>=84 && LA10_0<=88)) ) {
                alt10=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1764:1: rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 : ( ( ruleDeclarationStatement ) | ( ruleAssignStatement ) );", 10, 0, input);

                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1769:1: ( ruleDeclarationStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1769:1: ( ruleDeclarationStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1770:1: ruleDeclarationStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForInitStatementAccess().getChildrenDeclarationStatementParserRuleCall_0_1_1_0_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleDeclarationStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_1_1_03788);
                    ruleDeclarationStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getForInitStatementAccess().getChildrenDeclarationStatementParserRuleCall_0_1_1_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1775:6: ( ruleAssignStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1775:6: ( ruleAssignStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1776:1: ruleAssignStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForInitStatementAccess().getChildrenAssignStatementParserRuleCall_0_1_1_0_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleAssignStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_1_1_03805);
                    ruleAssignStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getForInitStatementAccess().getChildrenAssignStatementParserRuleCall_0_1_1_0_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__ChildrenAlternatives_0_1_1_0


    // $ANTLR start rule__ForPostStatement__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1786:1: rule__ForPostStatement__Alternatives : ( ( ( rule__ForPostStatement__Group_0__0 ) ) | ( ( rule__ForPostStatement__ChildrenAssignment_1 ) ) );
    public final void rule__ForPostStatement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1790:1: ( ( ( rule__ForPostStatement__Group_0__0 ) ) | ( ( rule__ForPostStatement__ChildrenAssignment_1 ) ) )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( ((LA11_0>=RULE_ID && LA11_0<=RULE_INT)||(LA11_0>=36 && LA11_0<=43)||LA11_0==48||LA11_0==69||LA11_0==82||(LA11_0>=84 && LA11_0<=88)) ) {
                alt11=1;
            }
            else if ( (LA11_0==EOF||LA11_0==49) ) {
                alt11=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1786:1: rule__ForPostStatement__Alternatives : ( ( ( rule__ForPostStatement__Group_0__0 ) ) | ( ( rule__ForPostStatement__ChildrenAssignment_1 ) ) );", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1791:1: ( ( rule__ForPostStatement__Group_0__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1791:1: ( ( rule__ForPostStatement__Group_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1792:1: ( rule__ForPostStatement__Group_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForPostStatementAccess().getGroup_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1793:1: ( rule__ForPostStatement__Group_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1793:2: rule__ForPostStatement__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0__0_in_rule__ForPostStatement__Alternatives3837);
                    rule__ForPostStatement__Group_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getForPostStatementAccess().getGroup_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1797:6: ( ( rule__ForPostStatement__ChildrenAssignment_1 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1797:6: ( ( rule__ForPostStatement__ChildrenAssignment_1 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1798:1: ( rule__ForPostStatement__ChildrenAssignment_1 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getForPostStatementAccess().getChildrenAssignment_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1799:1: ( rule__ForPostStatement__ChildrenAssignment_1 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1799:2: rule__ForPostStatement__ChildrenAssignment_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__ChildrenAssignment_1_in_rule__ForPostStatement__Alternatives3855);
                    rule__ForPostStatement__ChildrenAssignment_1();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getForPostStatementAccess().getChildrenAssignment_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Alternatives


    // $ANTLR start rule__Argument__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1808:1: rule__Argument__Alternatives : ( ( ruleNamedArgument ) | ( ruleUnamedArgument ) );
    public final void rule__Argument__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1812:1: ( ( ruleNamedArgument ) | ( ruleUnamedArgument ) )
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==RULE_ID) ) {
                int LA12_1 = input.LA(2);

                if ( (synpred26()) ) {
                    alt12=1;
                }
                else if ( (true) ) {
                    alt12=2;
                }
                else {
                    if (backtracking>0) {failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("1808:1: rule__Argument__Alternatives : ( ( ruleNamedArgument ) | ( ruleUnamedArgument ) );", 12, 1, input);

                    throw nvae;
                }
            }
            else if ( ((LA12_0>=RULE_STRING && LA12_0<=RULE_INT)||(LA12_0>=36 && LA12_0<=43)||LA12_0==48||LA12_0==54||LA12_0==61||LA12_0==67||LA12_0==69||LA12_0==82||(LA12_0>=84 && LA12_0<=88)) ) {
                alt12=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1808:1: rule__Argument__Alternatives : ( ( ruleNamedArgument ) | ( ruleUnamedArgument ) );", 12, 0, input);

                throw nvae;
            }
            switch (alt12) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1813:1: ( ruleNamedArgument )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1813:1: ( ruleNamedArgument )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1814:1: ruleNamedArgument
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getArgumentAccess().getNamedArgumentParserRuleCall_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleNamedArgument_in_rule__Argument__Alternatives3888);
                    ruleNamedArgument();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getArgumentAccess().getNamedArgumentParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1819:6: ( ruleUnamedArgument )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1819:6: ( ruleUnamedArgument )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1820:1: ruleUnamedArgument
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getArgumentAccess().getUnamedArgumentParserRuleCall_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleUnamedArgument_in_rule__Argument__Alternatives3905);
                    ruleUnamedArgument();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getArgumentAccess().getUnamedArgumentParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Argument__Alternatives


    // $ANTLR start rule__NamedArgument__Alternatives_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1830:1: rule__NamedArgument__Alternatives_2 : ( ( ( rule__NamedArgument__ValueAssignment_2_0 ) ) | ( ( rule__NamedArgument__Group_2_1__0 ) ) );
    public final void rule__NamedArgument__Alternatives_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1834:1: ( ( ( rule__NamedArgument__ValueAssignment_2_0 ) ) | ( ( rule__NamedArgument__Group_2_1__0 ) ) )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( ((LA13_0>=RULE_ID && LA13_0<=RULE_INT)||(LA13_0>=36 && LA13_0<=43)||LA13_0==48||LA13_0==54||LA13_0==61||LA13_0==67||LA13_0==69||LA13_0==82||(LA13_0>=84 && LA13_0<=88)) ) {
                alt13=1;
            }
            else if ( (LA13_0==66) ) {
                alt13=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1830:1: rule__NamedArgument__Alternatives_2 : ( ( ( rule__NamedArgument__ValueAssignment_2_0 ) ) | ( ( rule__NamedArgument__Group_2_1__0 ) ) );", 13, 0, input);

                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1835:1: ( ( rule__NamedArgument__ValueAssignment_2_0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1835:1: ( ( rule__NamedArgument__ValueAssignment_2_0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1836:1: ( rule__NamedArgument__ValueAssignment_2_0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getNamedArgumentAccess().getValueAssignment_2_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1837:1: ( rule__NamedArgument__ValueAssignment_2_0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1837:2: rule__NamedArgument__ValueAssignment_2_0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__ValueAssignment_2_0_in_rule__NamedArgument__Alternatives_23937);
                    rule__NamedArgument__ValueAssignment_2_0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getNamedArgumentAccess().getValueAssignment_2_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1841:6: ( ( rule__NamedArgument__Group_2_1__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1841:6: ( ( rule__NamedArgument__Group_2_1__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1842:1: ( rule__NamedArgument__Group_2_1__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getNamedArgumentAccess().getGroup_2_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1843:1: ( rule__NamedArgument__Group_2_1__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1843:2: rule__NamedArgument__Group_2_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__0_in_rule__NamedArgument__Alternatives_23955);
                    rule__NamedArgument__Group_2_1__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getNamedArgumentAccess().getGroup_2_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Alternatives_2


    // $ANTLR start rule__Expression__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1852:1: rule__Expression__Alternatives : ( ( ( rule__Expression__Group_0__0 ) ) | ( ruleArrayExpression ) | ( ruleStatementExpression ) );
    public final void rule__Expression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1856:1: ( ( ( rule__Expression__Group_0__0 ) ) | ( ruleArrayExpression ) | ( ruleStatementExpression ) )
            int alt14=3;
            switch ( input.LA(1) ) {
            case RULE_ID:
            case RULE_STRING:
            case RULE_VERBATIM_STRING:
            case RULE_INT:
            case 36:
            case 37:
            case 38:
            case 39:
            case 40:
            case 41:
            case 42:
            case 43:
            case 48:
            case 61:
            case 69:
            case 82:
            case 84:
            case 85:
            case 86:
            case 87:
            case 88:
                {
                alt14=1;
                }
                break;
            case 54:
                {
                alt14=2;
                }
                break;
            case 67:
                {
                alt14=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1852:1: rule__Expression__Alternatives : ( ( ( rule__Expression__Group_0__0 ) ) | ( ruleArrayExpression ) | ( ruleStatementExpression ) );", 14, 0, input);

                throw nvae;
            }

            switch (alt14) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1857:1: ( ( rule__Expression__Group_0__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1857:1: ( ( rule__Expression__Group_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1858:1: ( rule__Expression__Group_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getExpressionAccess().getGroup_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1859:1: ( rule__Expression__Group_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1859:2: rule__Expression__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0__0_in_rule__Expression__Alternatives3988);
                    rule__Expression__Group_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getExpressionAccess().getGroup_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1863:6: ( ruleArrayExpression )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1863:6: ( ruleArrayExpression )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1864:1: ruleArrayExpression
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getExpressionAccess().getArrayExpressionParserRuleCall_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleArrayExpression_in_rule__Expression__Alternatives4006);
                    ruleArrayExpression();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getExpressionAccess().getArrayExpressionParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1869:6: ( ruleStatementExpression )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1869:6: ( ruleStatementExpression )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1870:1: ruleStatementExpression
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getExpressionAccess().getStatementExpressionParserRuleCall_2()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleStatementExpression_in_rule__Expression__Alternatives4023);
                    ruleStatementExpression();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getExpressionAccess().getStatementExpressionParserRuleCall_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Alternatives


    // $ANTLR start rule__SimpleExpression__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1880:1: rule__SimpleExpression__Alternatives : ( ( ( rule__SimpleExpression__Group_0__0 ) ) | ( ruleMatchStatement ) );
    public final void rule__SimpleExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1884:1: ( ( ( rule__SimpleExpression__Group_0__0 ) ) | ( ruleMatchStatement ) )
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( ((LA15_0>=RULE_ID && LA15_0<=RULE_INT)||(LA15_0>=36 && LA15_0<=43)||LA15_0==48||LA15_0==69||LA15_0==82||(LA15_0>=84 && LA15_0<=88)) ) {
                alt15=1;
            }
            else if ( (LA15_0==61) ) {
                alt15=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1880:1: rule__SimpleExpression__Alternatives : ( ( ( rule__SimpleExpression__Group_0__0 ) ) | ( ruleMatchStatement ) );", 15, 0, input);

                throw nvae;
            }
            switch (alt15) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1885:1: ( ( rule__SimpleExpression__Group_0__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1885:1: ( ( rule__SimpleExpression__Group_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1886:1: ( rule__SimpleExpression__Group_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleExpressionAccess().getGroup_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1887:1: ( rule__SimpleExpression__Group_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1887:2: rule__SimpleExpression__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0__0_in_rule__SimpleExpression__Alternatives4055);
                    rule__SimpleExpression__Group_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleExpressionAccess().getGroup_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1891:6: ( ruleMatchStatement )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1891:6: ( ruleMatchStatement )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1892:1: ruleMatchStatement
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleExpressionAccess().getMatchStatementParserRuleCall_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleMatchStatement_in_rule__SimpleExpression__Alternatives4073);
                    ruleMatchStatement();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleExpressionAccess().getMatchStatementParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Alternatives


    // $ANTLR start rule__PatternExpression__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1902:1: rule__PatternExpression__Alternatives : ( ( ( rule__PatternExpression__ChildrenAssignment_0 ) ) | ( ( rule__PatternExpression__RefsAssignment_1 ) ) | ( ( rule__PatternExpression__Group_2__0 ) ) );
    public final void rule__PatternExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1906:1: ( ( ( rule__PatternExpression__ChildrenAssignment_0 ) ) | ( ( rule__PatternExpression__RefsAssignment_1 ) ) | ( ( rule__PatternExpression__Group_2__0 ) ) )
            int alt16=3;
            switch ( input.LA(1) ) {
            case 47:
                {
                alt16=1;
                }
                break;
            case RULE_ID:
                {
                alt16=2;
                }
                break;
            case 36:
                {
                alt16=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1902:1: rule__PatternExpression__Alternatives : ( ( ( rule__PatternExpression__ChildrenAssignment_0 ) ) | ( ( rule__PatternExpression__RefsAssignment_1 ) ) | ( ( rule__PatternExpression__Group_2__0 ) ) );", 16, 0, input);

                throw nvae;
            }

            switch (alt16) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1907:1: ( ( rule__PatternExpression__ChildrenAssignment_0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1907:1: ( ( rule__PatternExpression__ChildrenAssignment_0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1908:1: ( rule__PatternExpression__ChildrenAssignment_0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getPatternExpressionAccess().getChildrenAssignment_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1909:1: ( rule__PatternExpression__ChildrenAssignment_0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1909:2: rule__PatternExpression__ChildrenAssignment_0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__ChildrenAssignment_0_in_rule__PatternExpression__Alternatives4105);
                    rule__PatternExpression__ChildrenAssignment_0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getPatternExpressionAccess().getChildrenAssignment_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1913:6: ( ( rule__PatternExpression__RefsAssignment_1 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1913:6: ( ( rule__PatternExpression__RefsAssignment_1 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1914:1: ( rule__PatternExpression__RefsAssignment_1 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getPatternExpressionAccess().getRefsAssignment_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1915:1: ( rule__PatternExpression__RefsAssignment_1 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1915:2: rule__PatternExpression__RefsAssignment_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__RefsAssignment_1_in_rule__PatternExpression__Alternatives4123);
                    rule__PatternExpression__RefsAssignment_1();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getPatternExpressionAccess().getRefsAssignment_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1919:6: ( ( rule__PatternExpression__Group_2__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1919:6: ( ( rule__PatternExpression__Group_2__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1920:1: ( rule__PatternExpression__Group_2__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getPatternExpressionAccess().getGroup_2()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1921:1: ( rule__PatternExpression__Group_2__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1921:2: rule__PatternExpression__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__0_in_rule__PatternExpression__Alternatives4141);
                    rule__PatternExpression__Group_2__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getPatternExpressionAccess().getGroup_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Alternatives


    // $ANTLR start rule__BooleanExpression__OperatorAlternatives_1_1_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1930:1: rule__BooleanExpression__OperatorAlternatives_1_1_0 : ( ( '&&' ) | ( '||' ) );
    public final void rule__BooleanExpression__OperatorAlternatives_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1934:1: ( ( '&&' ) | ( '||' ) )
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==21) ) {
                alt17=1;
            }
            else if ( (LA17_0==22) ) {
                alt17=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1930:1: rule__BooleanExpression__OperatorAlternatives_1_1_0 : ( ( '&&' ) | ( '||' ) );", 17, 0, input);

                throw nvae;
            }
            switch (alt17) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1935:1: ( '&&' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1935:1: ( '&&' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1936:1: '&&'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0_0()); 
                    }
                    match(input,21,FollowSets000.FOLLOW_21_in_rule__BooleanExpression__OperatorAlternatives_1_1_04175); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1943:6: ( '||' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1943:6: ( '||' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1944:1: '||'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0_1()); 
                    }
                    match(input,22,FollowSets000.FOLLOW_22_in_rule__BooleanExpression__OperatorAlternatives_1_1_04195); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__OperatorAlternatives_1_1_0


    // $ANTLR start rule__BooleanTerm__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1956:1: rule__BooleanTerm__Alternatives : ( ( ( rule__BooleanTerm__Group_0__0 ) ) | ( ( rule__BooleanTerm__Group_1__0 ) ) );
    public final void rule__BooleanTerm__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1960:1: ( ( ( rule__BooleanTerm__Group_0__0 ) ) | ( ( rule__BooleanTerm__Group_1__0 ) ) )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( ((LA18_0>=RULE_ID && LA18_0<=RULE_INT)||(LA18_0>=36 && LA18_0<=41)||LA18_0==48||LA18_0==69||LA18_0==82||(LA18_0>=84 && LA18_0<=88)) ) {
                alt18=1;
            }
            else if ( ((LA18_0>=42 && LA18_0<=43)) ) {
                alt18=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1956:1: rule__BooleanTerm__Alternatives : ( ( ( rule__BooleanTerm__Group_0__0 ) ) | ( ( rule__BooleanTerm__Group_1__0 ) ) );", 18, 0, input);

                throw nvae;
            }
            switch (alt18) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1961:1: ( ( rule__BooleanTerm__Group_0__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1961:1: ( ( rule__BooleanTerm__Group_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1962:1: ( rule__BooleanTerm__Group_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getGroup_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1963:1: ( rule__BooleanTerm__Group_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1963:2: rule__BooleanTerm__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0__0_in_rule__BooleanTerm__Alternatives4229);
                    rule__BooleanTerm__Group_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getGroup_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1967:6: ( ( rule__BooleanTerm__Group_1__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1967:6: ( ( rule__BooleanTerm__Group_1__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1968:1: ( rule__BooleanTerm__Group_1__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getGroup_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1969:1: ( rule__BooleanTerm__Group_1__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1969:2: rule__BooleanTerm__Group_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_1__0_in_rule__BooleanTerm__Alternatives4247);
                    rule__BooleanTerm__Group_1__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Alternatives


    // $ANTLR start rule__BooleanTerm__OperatorAlternatives_0_1_1_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1978:1: rule__BooleanTerm__OperatorAlternatives_0_1_1_0 : ( ( '>' ) | ( '<' ) | ( '<=' ) | ( '>=' ) | ( '==' ) | ( '!=' ) );
    public final void rule__BooleanTerm__OperatorAlternatives_0_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1982:1: ( ( '>' ) | ( '<' ) | ( '<=' ) | ( '>=' ) | ( '==' ) | ( '!=' ) )
            int alt19=6;
            switch ( input.LA(1) ) {
            case 23:
                {
                alt19=1;
                }
                break;
            case 24:
                {
                alt19=2;
                }
                break;
            case 25:
                {
                alt19=3;
                }
                break;
            case 26:
                {
                alt19=4;
                }
                break;
            case 27:
                {
                alt19=5;
                }
                break;
            case 28:
                {
                alt19=6;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("1978:1: rule__BooleanTerm__OperatorAlternatives_0_1_1_0 : ( ( '>' ) | ( '<' ) | ( '<=' ) | ( '>=' ) | ( '==' ) | ( '!=' ) );", 19, 0, input);

                throw nvae;
            }

            switch (alt19) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1983:1: ( '>' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1983:1: ( '>' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1984:1: '>'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getOperatorGreaterThanSignKeyword_0_1_1_0_0()); 
                    }
                    match(input,23,FollowSets000.FOLLOW_23_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04281); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getOperatorGreaterThanSignKeyword_0_1_1_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1991:6: ( '<' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1991:6: ( '<' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1992:1: '<'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getOperatorLessThanSignKeyword_0_1_1_0_1()); 
                    }
                    match(input,24,FollowSets000.FOLLOW_24_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04301); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getOperatorLessThanSignKeyword_0_1_1_0_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1999:6: ( '<=' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1999:6: ( '<=' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2000:1: '<='
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getOperatorLessThanSignEqualsSignKeyword_0_1_1_0_2()); 
                    }
                    match(input,25,FollowSets000.FOLLOW_25_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04321); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getOperatorLessThanSignEqualsSignKeyword_0_1_1_0_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2007:6: ( '>=' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2007:6: ( '>=' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2008:1: '>='
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getOperatorGreaterThanSignEqualsSignKeyword_0_1_1_0_3()); 
                    }
                    match(input,26,FollowSets000.FOLLOW_26_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04341); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getOperatorGreaterThanSignEqualsSignKeyword_0_1_1_0_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2015:6: ( '==' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2015:6: ( '==' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2016:1: '=='
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getOperatorEqualsSignEqualsSignKeyword_0_1_1_0_4()); 
                    }
                    match(input,27,FollowSets000.FOLLOW_27_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04361); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getOperatorEqualsSignEqualsSignKeyword_0_1_1_0_4()); 
                    }

                    }


                    }
                    break;
                case 6 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2023:6: ( '!=' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2023:6: ( '!=' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2024:1: '!='
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBooleanTermAccess().getOperatorExclamationMarkEqualsSignKeyword_0_1_1_0_5()); 
                    }
                    match(input,28,FollowSets000.FOLLOW_28_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04381); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBooleanTermAccess().getOperatorExclamationMarkEqualsSignKeyword_0_1_1_0_5()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__OperatorAlternatives_0_1_1_0


    // $ANTLR start rule__AdditionExpression__OperatorAlternatives_1_1_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2036:1: rule__AdditionExpression__OperatorAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) );
    public final void rule__AdditionExpression__OperatorAlternatives_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2040:1: ( ( '+' ) | ( '-' ) )
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==29) ) {
                alt20=1;
            }
            else if ( (LA20_0==30) ) {
                alt20=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2036:1: rule__AdditionExpression__OperatorAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) );", 20, 0, input);

                throw nvae;
            }
            switch (alt20) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2041:1: ( '+' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2041:1: ( '+' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2042:1: '+'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getAdditionExpressionAccess().getOperatorPlusSignKeyword_1_1_0_0()); 
                    }
                    match(input,29,FollowSets000.FOLLOW_29_in_rule__AdditionExpression__OperatorAlternatives_1_1_04416); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getAdditionExpressionAccess().getOperatorPlusSignKeyword_1_1_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2049:6: ( '-' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2049:6: ( '-' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2050:1: '-'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getAdditionExpressionAccess().getOperatorHyphenMinusKeyword_1_1_0_1()); 
                    }
                    match(input,30,FollowSets000.FOLLOW_30_in_rule__AdditionExpression__OperatorAlternatives_1_1_04436); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getAdditionExpressionAccess().getOperatorHyphenMinusKeyword_1_1_0_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__OperatorAlternatives_1_1_0


    // $ANTLR start rule__MulExpression__OperatorAlternatives_1_1_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2062:1: rule__MulExpression__OperatorAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) | ( '%' ) | ( '<<' ) | ( '>>' ) );
    public final void rule__MulExpression__OperatorAlternatives_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2066:1: ( ( '*' ) | ( '/' ) | ( '%' ) | ( '<<' ) | ( '>>' ) )
            int alt21=5;
            switch ( input.LA(1) ) {
            case 31:
                {
                alt21=1;
                }
                break;
            case 32:
                {
                alt21=2;
                }
                break;
            case 33:
                {
                alt21=3;
                }
                break;
            case 34:
                {
                alt21=4;
                }
                break;
            case 35:
                {
                alt21=5;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2062:1: rule__MulExpression__OperatorAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) | ( '%' ) | ( '<<' ) | ( '>>' ) );", 21, 0, input);

                throw nvae;
            }

            switch (alt21) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2067:1: ( '*' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2067:1: ( '*' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2068:1: '*'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMulExpressionAccess().getOperatorAsteriskKeyword_1_1_0_0()); 
                    }
                    match(input,31,FollowSets000.FOLLOW_31_in_rule__MulExpression__OperatorAlternatives_1_1_04471); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMulExpressionAccess().getOperatorAsteriskKeyword_1_1_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2075:6: ( '/' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2075:6: ( '/' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2076:1: '/'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMulExpressionAccess().getOperatorSolidusKeyword_1_1_0_1()); 
                    }
                    match(input,32,FollowSets000.FOLLOW_32_in_rule__MulExpression__OperatorAlternatives_1_1_04491); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMulExpressionAccess().getOperatorSolidusKeyword_1_1_0_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2083:6: ( '%' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2083:6: ( '%' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2084:1: '%'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMulExpressionAccess().getOperatorPercentSignKeyword_1_1_0_2()); 
                    }
                    match(input,33,FollowSets000.FOLLOW_33_in_rule__MulExpression__OperatorAlternatives_1_1_04511); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMulExpressionAccess().getOperatorPercentSignKeyword_1_1_0_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2091:6: ( '<<' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2091:6: ( '<<' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2092:1: '<<'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMulExpressionAccess().getOperatorLessThanSignLessThanSignKeyword_1_1_0_3()); 
                    }
                    match(input,34,FollowSets000.FOLLOW_34_in_rule__MulExpression__OperatorAlternatives_1_1_04531); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMulExpressionAccess().getOperatorLessThanSignLessThanSignKeyword_1_1_0_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2099:6: ( '>>' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2099:6: ( '>>' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2100:1: '>>'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getMulExpressionAccess().getOperatorGreaterThanSignGreaterThanSignKeyword_1_1_0_4()); 
                    }
                    match(input,35,FollowSets000.FOLLOW_35_in_rule__MulExpression__OperatorAlternatives_1_1_04551); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getMulExpressionAccess().getOperatorGreaterThanSignGreaterThanSignKeyword_1_1_0_4()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__OperatorAlternatives_1_1_0


    // $ANTLR start rule__Term__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2112:1: rule__Term__Alternatives : ( ( ( rule__Term__Group_0__0 ) ) | ( ruleComplexTerm ) );
    public final void rule__Term__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2116:1: ( ( ( rule__Term__Group_0__0 ) ) | ( ruleComplexTerm ) )
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==82) ) {
                alt22=1;
            }
            else if ( ((LA22_0>=RULE_ID && LA22_0<=RULE_INT)||(LA22_0>=36 && LA22_0<=41)||LA22_0==48||LA22_0==69||(LA22_0>=84 && LA22_0<=88)) ) {
                alt22=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2112:1: rule__Term__Alternatives : ( ( ( rule__Term__Group_0__0 ) ) | ( ruleComplexTerm ) );", 22, 0, input);

                throw nvae;
            }
            switch (alt22) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2117:1: ( ( rule__Term__Group_0__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2117:1: ( ( rule__Term__Group_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2118:1: ( rule__Term__Group_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getGroup_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2119:1: ( rule__Term__Group_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2119:2: rule__Term__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Term__Group_0__0_in_rule__Term__Alternatives4585);
                    rule__Term__Group_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getGroup_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2123:6: ( ruleComplexTerm )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2123:6: ( ruleComplexTerm )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2124:1: ruleComplexTerm
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getComplexTermParserRuleCall_1()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleComplexTerm_in_rule__Term__Alternatives4603);
                    ruleComplexTerm();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getComplexTermParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__Alternatives


    // $ANTLR start rule__ComplexTerm__Alternatives_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2134:1: rule__ComplexTerm__Alternatives_1 : ( ( ( rule__ComplexTerm__Group_1_0__0 ) ) | ( ( rule__ComplexTerm__Group_1_1__0 ) ) | ( ( rule__ComplexTerm__Group_1_2__0 ) ) );
    public final void rule__ComplexTerm__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2138:1: ( ( ( rule__ComplexTerm__Group_1_0__0 ) ) | ( ( rule__ComplexTerm__Group_1_1__0 ) ) | ( ( rule__ComplexTerm__Group_1_2__0 ) ) )
            int alt23=3;
            switch ( input.LA(1) ) {
            case 76:
                {
                alt23=1;
                }
                break;
            case 48:
                {
                alt23=2;
                }
                break;
            case 83:
                {
                alt23=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2134:1: rule__ComplexTerm__Alternatives_1 : ( ( ( rule__ComplexTerm__Group_1_0__0 ) ) | ( ( rule__ComplexTerm__Group_1_1__0 ) ) | ( ( rule__ComplexTerm__Group_1_2__0 ) ) );", 23, 0, input);

                throw nvae;
            }

            switch (alt23) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2139:1: ( ( rule__ComplexTerm__Group_1_0__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2139:1: ( ( rule__ComplexTerm__Group_1_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2140:1: ( rule__ComplexTerm__Group_1_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getComplexTermAccess().getGroup_1_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2141:1: ( rule__ComplexTerm__Group_1_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2141:2: rule__ComplexTerm__Group_1_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_0__0_in_rule__ComplexTerm__Alternatives_14635);
                    rule__ComplexTerm__Group_1_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getComplexTermAccess().getGroup_1_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2145:6: ( ( rule__ComplexTerm__Group_1_1__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2145:6: ( ( rule__ComplexTerm__Group_1_1__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2146:1: ( rule__ComplexTerm__Group_1_1__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getComplexTermAccess().getGroup_1_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2147:1: ( rule__ComplexTerm__Group_1_1__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2147:2: rule__ComplexTerm__Group_1_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__0_in_rule__ComplexTerm__Alternatives_14653);
                    rule__ComplexTerm__Group_1_1__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getComplexTermAccess().getGroup_1_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2151:6: ( ( rule__ComplexTerm__Group_1_2__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2151:6: ( ( rule__ComplexTerm__Group_1_2__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2152:1: ( rule__ComplexTerm__Group_1_2__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getComplexTermAccess().getGroup_1_2()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2153:1: ( rule__ComplexTerm__Group_1_2__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2153:2: rule__ComplexTerm__Group_1_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__0_in_rule__ComplexTerm__Alternatives_14671);
                    rule__ComplexTerm__Group_1_2__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getComplexTermAccess().getGroup_1_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Alternatives_1


    // $ANTLR start rule__SimpleTerm__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2162:1: rule__SimpleTerm__Alternatives : ( ( ruleLiteralExpression ) | ( ( rule__SimpleTerm__Group_1__0 ) ) | ( ruleVariableTerm ) | ( ( rule__SimpleTerm__Group_3__0 ) ) | ( ( rule__SimpleTerm__Group_4__0 ) ) | ( ( rule__SimpleTerm__Group_5__0 ) ) | ( ( rule__SimpleTerm__Group_6__0 ) ) | ( ( rule__SimpleTerm__Group_7__0 ) ) | ( ( rule__SimpleTerm__Group_8__0 ) ) | ( ( rule__SimpleTerm__OperatorAssignment_9 ) ) );
    public final void rule__SimpleTerm__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2166:1: ( ( ruleLiteralExpression ) | ( ( rule__SimpleTerm__Group_1__0 ) ) | ( ruleVariableTerm ) | ( ( rule__SimpleTerm__Group_3__0 ) ) | ( ( rule__SimpleTerm__Group_4__0 ) ) | ( ( rule__SimpleTerm__Group_5__0 ) ) | ( ( rule__SimpleTerm__Group_6__0 ) ) | ( ( rule__SimpleTerm__Group_7__0 ) ) | ( ( rule__SimpleTerm__Group_8__0 ) ) | ( ( rule__SimpleTerm__OperatorAssignment_9 ) ) )
            int alt24=10;
            switch ( input.LA(1) ) {
            case RULE_STRING:
            case RULE_VERBATIM_STRING:
            case RULE_INT:
                {
                alt24=1;
                }
                break;
            case 69:
                {
                alt24=2;
                }
                break;
            case RULE_ID:
            case 38:
            case 39:
            case 40:
            case 41:
                {
                alt24=3;
                }
                break;
            case 48:
                {
                alt24=4;
                }
                break;
            case 84:
                {
                alt24=5;
                }
                break;
            case 36:
            case 37:
                {
                alt24=6;
                }
                break;
            case 85:
                {
                alt24=7;
                }
                break;
            case 86:
                {
                alt24=8;
                }
                break;
            case 87:
                {
                alt24=9;
                }
                break;
            case 88:
                {
                alt24=10;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2162:1: rule__SimpleTerm__Alternatives : ( ( ruleLiteralExpression ) | ( ( rule__SimpleTerm__Group_1__0 ) ) | ( ruleVariableTerm ) | ( ( rule__SimpleTerm__Group_3__0 ) ) | ( ( rule__SimpleTerm__Group_4__0 ) ) | ( ( rule__SimpleTerm__Group_5__0 ) ) | ( ( rule__SimpleTerm__Group_6__0 ) ) | ( ( rule__SimpleTerm__Group_7__0 ) ) | ( ( rule__SimpleTerm__Group_8__0 ) ) | ( ( rule__SimpleTerm__OperatorAssignment_9 ) ) );", 24, 0, input);

                throw nvae;
            }

            switch (alt24) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2167:1: ( ruleLiteralExpression )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2167:1: ( ruleLiteralExpression )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2168:1: ruleLiteralExpression
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getLiteralExpressionParserRuleCall_0()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleLiteralExpression_in_rule__SimpleTerm__Alternatives4704);
                    ruleLiteralExpression();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getLiteralExpressionParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2173:6: ( ( rule__SimpleTerm__Group_1__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2173:6: ( ( rule__SimpleTerm__Group_1__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2174:1: ( rule__SimpleTerm__Group_1__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getGroup_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2175:1: ( rule__SimpleTerm__Group_1__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2175:2: rule__SimpleTerm__Group_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_1__0_in_rule__SimpleTerm__Alternatives4721);
                    rule__SimpleTerm__Group_1__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2179:6: ( ruleVariableTerm )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2179:6: ( ruleVariableTerm )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2180:1: ruleVariableTerm
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getVariableTermParserRuleCall_2()); 
                    }
                    pushFollow(FollowSets000.FOLLOW_ruleVariableTerm_in_rule__SimpleTerm__Alternatives4739);
                    ruleVariableTerm();
                    _fsp--;
                    if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getVariableTermParserRuleCall_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2185:6: ( ( rule__SimpleTerm__Group_3__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2185:6: ( ( rule__SimpleTerm__Group_3__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2186:1: ( rule__SimpleTerm__Group_3__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getGroup_3()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2187:1: ( rule__SimpleTerm__Group_3__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2187:2: rule__SimpleTerm__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_3__0_in_rule__SimpleTerm__Alternatives4756);
                    rule__SimpleTerm__Group_3__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getGroup_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2191:6: ( ( rule__SimpleTerm__Group_4__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2191:6: ( ( rule__SimpleTerm__Group_4__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2192:1: ( rule__SimpleTerm__Group_4__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getGroup_4()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2193:1: ( rule__SimpleTerm__Group_4__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2193:2: rule__SimpleTerm__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__0_in_rule__SimpleTerm__Alternatives4774);
                    rule__SimpleTerm__Group_4__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getGroup_4()); 
                    }

                    }


                    }
                    break;
                case 6 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2197:6: ( ( rule__SimpleTerm__Group_5__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2197:6: ( ( rule__SimpleTerm__Group_5__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2198:1: ( rule__SimpleTerm__Group_5__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getGroup_5()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2199:1: ( rule__SimpleTerm__Group_5__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2199:2: rule__SimpleTerm__Group_5__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_5__0_in_rule__SimpleTerm__Alternatives4792);
                    rule__SimpleTerm__Group_5__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getGroup_5()); 
                    }

                    }


                    }
                    break;
                case 7 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2203:6: ( ( rule__SimpleTerm__Group_6__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2203:6: ( ( rule__SimpleTerm__Group_6__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2204:1: ( rule__SimpleTerm__Group_6__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getGroup_6()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2205:1: ( rule__SimpleTerm__Group_6__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2205:2: rule__SimpleTerm__Group_6__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_6__0_in_rule__SimpleTerm__Alternatives4810);
                    rule__SimpleTerm__Group_6__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getGroup_6()); 
                    }

                    }


                    }
                    break;
                case 8 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2209:6: ( ( rule__SimpleTerm__Group_7__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2209:6: ( ( rule__SimpleTerm__Group_7__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2210:1: ( rule__SimpleTerm__Group_7__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getGroup_7()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2211:1: ( rule__SimpleTerm__Group_7__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2211:2: rule__SimpleTerm__Group_7__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_7__0_in_rule__SimpleTerm__Alternatives4828);
                    rule__SimpleTerm__Group_7__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getGroup_7()); 
                    }

                    }


                    }
                    break;
                case 9 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2215:6: ( ( rule__SimpleTerm__Group_8__0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2215:6: ( ( rule__SimpleTerm__Group_8__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2216:1: ( rule__SimpleTerm__Group_8__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getGroup_8()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2217:1: ( rule__SimpleTerm__Group_8__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2217:2: rule__SimpleTerm__Group_8__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_8__0_in_rule__SimpleTerm__Alternatives4846);
                    rule__SimpleTerm__Group_8__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getGroup_8()); 
                    }

                    }


                    }
                    break;
                case 10 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2221:6: ( ( rule__SimpleTerm__OperatorAssignment_9 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2221:6: ( ( rule__SimpleTerm__OperatorAssignment_9 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2222:1: ( rule__SimpleTerm__OperatorAssignment_9 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getOperatorAssignment_9()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2223:1: ( rule__SimpleTerm__OperatorAssignment_9 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2223:2: rule__SimpleTerm__OperatorAssignment_9
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__OperatorAssignment_9_in_rule__SimpleTerm__Alternatives4864);
                    rule__SimpleTerm__OperatorAssignment_9();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getOperatorAssignment_9()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Alternatives


    // $ANTLR start rule__SimpleTerm__OperatorAlternatives_5_0_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2232:1: rule__SimpleTerm__OperatorAlternatives_5_0_0 : ( ( 'evaluate' ) | ( 'execute' ) );
    public final void rule__SimpleTerm__OperatorAlternatives_5_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2236:1: ( ( 'evaluate' ) | ( 'execute' ) )
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0==36) ) {
                alt25=1;
            }
            else if ( (LA25_0==37) ) {
                alt25=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2232:1: rule__SimpleTerm__OperatorAlternatives_5_0_0 : ( ( 'evaluate' ) | ( 'execute' ) );", 25, 0, input);

                throw nvae;
            }
            switch (alt25) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2237:1: ( 'evaluate' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2237:1: ( 'evaluate' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2238:1: 'evaluate'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getOperatorEvaluateKeyword_5_0_0_0()); 
                    }
                    match(input,36,FollowSets000.FOLLOW_36_in_rule__SimpleTerm__OperatorAlternatives_5_0_04898); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getOperatorEvaluateKeyword_5_0_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2245:6: ( 'execute' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2245:6: ( 'execute' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2246:1: 'execute'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getSimpleTermAccess().getOperatorExecuteKeyword_5_0_0_1()); 
                    }
                    match(input,37,FollowSets000.FOLLOW_37_in_rule__SimpleTerm__OperatorAlternatives_5_0_04918); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getSimpleTermAccess().getOperatorExecuteKeyword_5_0_0_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__OperatorAlternatives_5_0_0


    // $ANTLR start rule__VariableTerm__OperatorAlternatives_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2258:1: rule__VariableTerm__OperatorAlternatives_0 : ( ( RULE_ID ) | ( 'this' ) | ( 'begin' ) | ( 'end' ) | ( 'arguments' ) );
    public final void rule__VariableTerm__OperatorAlternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2262:1: ( ( RULE_ID ) | ( 'this' ) | ( 'begin' ) | ( 'end' ) | ( 'arguments' ) )
            int alt26=5;
            switch ( input.LA(1) ) {
            case RULE_ID:
                {
                alt26=1;
                }
                break;
            case 38:
                {
                alt26=2;
                }
                break;
            case 39:
                {
                alt26=3;
                }
                break;
            case 40:
                {
                alt26=4;
                }
                break;
            case 41:
                {
                alt26=5;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2258:1: rule__VariableTerm__OperatorAlternatives_0 : ( ( RULE_ID ) | ( 'this' ) | ( 'begin' ) | ( 'end' ) | ( 'arguments' ) );", 26, 0, input);

                throw nvae;
            }

            switch (alt26) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2263:1: ( RULE_ID )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2263:1: ( RULE_ID )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2264:1: RULE_ID
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getVariableTermAccess().getOperatorIDTerminalRuleCall_0_0()); 
                    }
                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__VariableTerm__OperatorAlternatives_04952); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getVariableTermAccess().getOperatorIDTerminalRuleCall_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2269:6: ( 'this' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2269:6: ( 'this' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2270:1: 'this'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getVariableTermAccess().getOperatorThisKeyword_0_1()); 
                    }
                    match(input,38,FollowSets000.FOLLOW_38_in_rule__VariableTerm__OperatorAlternatives_04970); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getVariableTermAccess().getOperatorThisKeyword_0_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2277:6: ( 'begin' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2277:6: ( 'begin' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2278:1: 'begin'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getVariableTermAccess().getOperatorBeginKeyword_0_2()); 
                    }
                    match(input,39,FollowSets000.FOLLOW_39_in_rule__VariableTerm__OperatorAlternatives_04990); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getVariableTermAccess().getOperatorBeginKeyword_0_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2285:6: ( 'end' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2285:6: ( 'end' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2286:1: 'end'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getVariableTermAccess().getOperatorEndKeyword_0_3()); 
                    }
                    match(input,40,FollowSets000.FOLLOW_40_in_rule__VariableTerm__OperatorAlternatives_05010); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getVariableTermAccess().getOperatorEndKeyword_0_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2293:6: ( 'arguments' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2293:6: ( 'arguments' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2294:1: 'arguments'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getVariableTermAccess().getOperatorArgumentsKeyword_0_4()); 
                    }
                    match(input,41,FollowSets000.FOLLOW_41_in_rule__VariableTerm__OperatorAlternatives_05030); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getVariableTermAccess().getOperatorArgumentsKeyword_0_4()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VariableTerm__OperatorAlternatives_0


    // $ANTLR start rule__LiteralExpression__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2306:1: rule__LiteralExpression__Alternatives : ( ( ( rule__LiteralExpression__ValueAssignment_0 ) ) | ( ( rule__LiteralExpression__ValueAssignment_1 ) ) | ( ( rule__LiteralExpression__ValueAssignment_2 ) ) );
    public final void rule__LiteralExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2310:1: ( ( ( rule__LiteralExpression__ValueAssignment_0 ) ) | ( ( rule__LiteralExpression__ValueAssignment_1 ) ) | ( ( rule__LiteralExpression__ValueAssignment_2 ) ) )
            int alt27=3;
            switch ( input.LA(1) ) {
            case RULE_STRING:
                {
                alt27=1;
                }
                break;
            case RULE_VERBATIM_STRING:
                {
                alt27=2;
                }
                break;
            case RULE_INT:
                {
                alt27=3;
                }
                break;
            default:
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2306:1: rule__LiteralExpression__Alternatives : ( ( ( rule__LiteralExpression__ValueAssignment_0 ) ) | ( ( rule__LiteralExpression__ValueAssignment_1 ) ) | ( ( rule__LiteralExpression__ValueAssignment_2 ) ) );", 27, 0, input);

                throw nvae;
            }

            switch (alt27) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2311:1: ( ( rule__LiteralExpression__ValueAssignment_0 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2311:1: ( ( rule__LiteralExpression__ValueAssignment_0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2312:1: ( rule__LiteralExpression__ValueAssignment_0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLiteralExpressionAccess().getValueAssignment_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2313:1: ( rule__LiteralExpression__ValueAssignment_0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2313:2: rule__LiteralExpression__ValueAssignment_0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LiteralExpression__ValueAssignment_0_in_rule__LiteralExpression__Alternatives5064);
                    rule__LiteralExpression__ValueAssignment_0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getLiteralExpressionAccess().getValueAssignment_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2317:6: ( ( rule__LiteralExpression__ValueAssignment_1 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2317:6: ( ( rule__LiteralExpression__ValueAssignment_1 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2318:1: ( rule__LiteralExpression__ValueAssignment_1 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLiteralExpressionAccess().getValueAssignment_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2319:1: ( rule__LiteralExpression__ValueAssignment_1 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2319:2: rule__LiteralExpression__ValueAssignment_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LiteralExpression__ValueAssignment_1_in_rule__LiteralExpression__Alternatives5082);
                    rule__LiteralExpression__ValueAssignment_1();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getLiteralExpressionAccess().getValueAssignment_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2323:6: ( ( rule__LiteralExpression__ValueAssignment_2 ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2323:6: ( ( rule__LiteralExpression__ValueAssignment_2 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2324:1: ( rule__LiteralExpression__ValueAssignment_2 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLiteralExpressionAccess().getValueAssignment_2()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2325:1: ( rule__LiteralExpression__ValueAssignment_2 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2325:2: rule__LiteralExpression__ValueAssignment_2
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LiteralExpression__ValueAssignment_2_in_rule__LiteralExpression__Alternatives5100);
                    rule__LiteralExpression__ValueAssignment_2();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getLiteralExpressionAccess().getValueAssignment_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LiteralExpression__Alternatives


    // $ANTLR start rule__BOOLEAN_CONSTANTS__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2334:1: rule__BOOLEAN_CONSTANTS__Alternatives : ( ( 'true' ) | ( 'false' ) );
    public final void rule__BOOLEAN_CONSTANTS__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2338:1: ( ( 'true' ) | ( 'false' ) )
            int alt28=2;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==42) ) {
                alt28=1;
            }
            else if ( (LA28_0==43) ) {
                alt28=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2334:1: rule__BOOLEAN_CONSTANTS__Alternatives : ( ( 'true' ) | ( 'false' ) );", 28, 0, input);

                throw nvae;
            }
            switch (alt28) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2339:1: ( 'true' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2339:1: ( 'true' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2340:1: 'true'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBOOLEAN_CONSTANTSAccess().getTrueKeyword_0()); 
                    }
                    match(input,42,FollowSets000.FOLLOW_42_in_rule__BOOLEAN_CONSTANTS__Alternatives5134); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBOOLEAN_CONSTANTSAccess().getTrueKeyword_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2347:6: ( 'false' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2347:6: ( 'false' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2348:1: 'false'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getBOOLEAN_CONSTANTSAccess().getFalseKeyword_1()); 
                    }
                    match(input,43,FollowSets000.FOLLOW_43_in_rule__BOOLEAN_CONSTANTS__Alternatives5154); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getBOOLEAN_CONSTANTSAccess().getFalseKeyword_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BOOLEAN_CONSTANTS__Alternatives


    // $ANTLR start rule__POSITION_CONSTANTS__Alternatives
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2360:1: rule__POSITION_CONSTANTS__Alternatives : ( ( 'begin' ) | ( 'end' ) );
    public final void rule__POSITION_CONSTANTS__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2364:1: ( ( 'begin' ) | ( 'end' ) )
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==39) ) {
                alt29=1;
            }
            else if ( (LA29_0==40) ) {
                alt29=2;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("2360:1: rule__POSITION_CONSTANTS__Alternatives : ( ( 'begin' ) | ( 'end' ) );", 29, 0, input);

                throw nvae;
            }
            switch (alt29) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2365:1: ( 'begin' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2365:1: ( 'begin' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2366:1: 'begin'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getPOSITION_CONSTANTSAccess().getBeginKeyword_0()); 
                    }
                    match(input,39,FollowSets000.FOLLOW_39_in_rule__POSITION_CONSTANTS__Alternatives5189); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getPOSITION_CONSTANTSAccess().getBeginKeyword_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2373:6: ( 'end' )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2373:6: ( 'end' )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2374:1: 'end'
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getPOSITION_CONSTANTSAccess().getEndKeyword_1()); 
                    }
                    match(input,40,FollowSets000.FOLLOW_40_in_rule__POSITION_CONSTANTS__Alternatives5209); if (failed) return ;
                    if ( backtracking==0 ) {
                       after(grammarAccess.getPOSITION_CONSTANTSAccess().getEndKeyword_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__POSITION_CONSTANTS__Alternatives


    // $ANTLR start rule__Program__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2388:1: rule__Program__Group__0 : rule__Program__Group__0__Impl rule__Program__Group__1 ;
    public final void rule__Program__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2392:1: ( rule__Program__Group__0__Impl rule__Program__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2393:2: rule__Program__Group__0__Impl rule__Program__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__0__Impl_in_rule__Program__Group__05241);
            rule__Program__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__1_in_rule__Program__Group__05244);
            rule__Program__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__0


    // $ANTLR start rule__Program__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2400:1: rule__Program__Group__0__Impl : ( 'program' ) ;
    public final void rule__Program__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2404:1: ( ( 'program' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2405:1: ( 'program' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2405:1: ( 'program' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2406:1: 'program'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getProgramKeyword_0()); 
            }
            match(input,44,FollowSets000.FOLLOW_44_in_rule__Program__Group__0__Impl5272); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getProgramKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__0__Impl


    // $ANTLR start rule__Program__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2419:1: rule__Program__Group__1 : rule__Program__Group__1__Impl rule__Program__Group__2 ;
    public final void rule__Program__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2423:1: ( rule__Program__Group__1__Impl rule__Program__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2424:2: rule__Program__Group__1__Impl rule__Program__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__1__Impl_in_rule__Program__Group__15303);
            rule__Program__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__2_in_rule__Program__Group__15306);
            rule__Program__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__1


    // $ANTLR start rule__Program__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2431:1: rule__Program__Group__1__Impl : ( ( rule__Program__NameAssignment_1 ) ) ;
    public final void rule__Program__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2435:1: ( ( ( rule__Program__NameAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2436:1: ( ( rule__Program__NameAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2436:1: ( ( rule__Program__NameAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2437:1: ( rule__Program__NameAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getNameAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2438:1: ( rule__Program__NameAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2438:2: rule__Program__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__NameAssignment_1_in_rule__Program__Group__1__Impl5333);
            rule__Program__NameAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__1__Impl


    // $ANTLR start rule__Program__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2448:1: rule__Program__Group__2 : rule__Program__Group__2__Impl rule__Program__Group__3 ;
    public final void rule__Program__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2452:1: ( rule__Program__Group__2__Impl rule__Program__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2453:2: rule__Program__Group__2__Impl rule__Program__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__2__Impl_in_rule__Program__Group__25363);
            rule__Program__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__3_in_rule__Program__Group__25366);
            rule__Program__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__2


    // $ANTLR start rule__Program__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2460:1: rule__Program__Group__2__Impl : ( ';' ) ;
    public final void rule__Program__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2464:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2465:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2465:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2466:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getSemicolonKeyword_2()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__Program__Group__2__Impl5394); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getSemicolonKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__2__Impl


    // $ANTLR start rule__Program__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2479:1: rule__Program__Group__3 : rule__Program__Group__3__Impl rule__Program__Group__4 ;
    public final void rule__Program__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2483:1: ( rule__Program__Group__3__Impl rule__Program__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2484:2: rule__Program__Group__3__Impl rule__Program__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__3__Impl_in_rule__Program__Group__35425);
            rule__Program__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__4_in_rule__Program__Group__35428);
            rule__Program__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__3


    // $ANTLR start rule__Program__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2491:1: rule__Program__Group__3__Impl : ( ( rule__Program__Group_3__0 )* ) ;
    public final void rule__Program__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2495:1: ( ( ( rule__Program__Group_3__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2496:1: ( ( rule__Program__Group_3__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2496:1: ( ( rule__Program__Group_3__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2497:1: ( rule__Program__Group_3__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getGroup_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2498:1: ( rule__Program__Group_3__0 )*
            loop30:
            do {
                int alt30=2;
                int LA30_0 = input.LA(1);

                if ( (LA30_0==46) ) {
                    alt30=1;
                }


                switch (alt30) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2498:2: rule__Program__Group_3__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Program__Group_3__0_in_rule__Program__Group__3__Impl5455);
            	    rule__Program__Group_3__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop30;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__3__Impl


    // $ANTLR start rule__Program__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2508:1: rule__Program__Group__4 : rule__Program__Group__4__Impl ;
    public final void rule__Program__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2512:1: ( rule__Program__Group__4__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2513:2: rule__Program__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group__4__Impl_in_rule__Program__Group__45486);
            rule__Program__Group__4__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__4


    // $ANTLR start rule__Program__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2519:1: rule__Program__Group__4__Impl : ( ( rule__Program__ChildrenAssignment_4 )* ) ;
    public final void rule__Program__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2523:1: ( ( ( rule__Program__ChildrenAssignment_4 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2524:1: ( ( rule__Program__ChildrenAssignment_4 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2524:1: ( ( rule__Program__ChildrenAssignment_4 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2525:1: ( rule__Program__ChildrenAssignment_4 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getChildrenAssignment_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2526:1: ( rule__Program__ChildrenAssignment_4 )*
            loop31:
            do {
                int alt31=2;
                int LA31_0 = input.LA(1);

                if ( (LA31_0==47||LA31_0==52||LA31_0==70||(LA31_0>=73 && LA31_0<=74)) ) {
                    alt31=1;
                }


                switch (alt31) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2526:2: rule__Program__ChildrenAssignment_4
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Program__ChildrenAssignment_4_in_rule__Program__Group__4__Impl5513);
            	    rule__Program__ChildrenAssignment_4();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop31;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getChildrenAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group__4__Impl


    // $ANTLR start rule__Program__Group_3__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2546:1: rule__Program__Group_3__0 : rule__Program__Group_3__0__Impl rule__Program__Group_3__1 ;
    public final void rule__Program__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2550:1: ( rule__Program__Group_3__0__Impl rule__Program__Group_3__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2551:2: rule__Program__Group_3__0__Impl rule__Program__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group_3__0__Impl_in_rule__Program__Group_3__05554);
            rule__Program__Group_3__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group_3__1_in_rule__Program__Group_3__05557);
            rule__Program__Group_3__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group_3__0


    // $ANTLR start rule__Program__Group_3__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2558:1: rule__Program__Group_3__0__Impl : ( ( rule__Program__ChildrenAssignment_3_0 ) ) ;
    public final void rule__Program__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2562:1: ( ( ( rule__Program__ChildrenAssignment_3_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2563:1: ( ( rule__Program__ChildrenAssignment_3_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2563:1: ( ( rule__Program__ChildrenAssignment_3_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2564:1: ( rule__Program__ChildrenAssignment_3_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getChildrenAssignment_3_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2565:1: ( rule__Program__ChildrenAssignment_3_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2565:2: rule__Program__ChildrenAssignment_3_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__ChildrenAssignment_3_0_in_rule__Program__Group_3__0__Impl5584);
            rule__Program__ChildrenAssignment_3_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getChildrenAssignment_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group_3__0__Impl


    // $ANTLR start rule__Program__Group_3__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2575:1: rule__Program__Group_3__1 : rule__Program__Group_3__1__Impl ;
    public final void rule__Program__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2579:1: ( rule__Program__Group_3__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2580:2: rule__Program__Group_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Program__Group_3__1__Impl_in_rule__Program__Group_3__15614);
            rule__Program__Group_3__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group_3__1


    // $ANTLR start rule__Program__Group_3__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2586:1: rule__Program__Group_3__1__Impl : ( ';' ) ;
    public final void rule__Program__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2590:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2591:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2591:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2592:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getSemicolonKeyword_3_1()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__Program__Group_3__1__Impl5642); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getSemicolonKeyword_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__Group_3__1__Impl


    // $ANTLR start rule__InclusionDeclaration__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2609:1: rule__InclusionDeclaration__Group__0 : rule__InclusionDeclaration__Group__0__Impl rule__InclusionDeclaration__Group__1 ;
    public final void rule__InclusionDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2613:1: ( rule__InclusionDeclaration__Group__0__Impl rule__InclusionDeclaration__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2614:2: rule__InclusionDeclaration__Group__0__Impl rule__InclusionDeclaration__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__InclusionDeclaration__Group__0__Impl_in_rule__InclusionDeclaration__Group__05677);
            rule__InclusionDeclaration__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__InclusionDeclaration__Group__1_in_rule__InclusionDeclaration__Group__05680);
            rule__InclusionDeclaration__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__InclusionDeclaration__Group__0


    // $ANTLR start rule__InclusionDeclaration__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2621:1: rule__InclusionDeclaration__Group__0__Impl : ( 'reference' ) ;
    public final void rule__InclusionDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2625:1: ( ( 'reference' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2626:1: ( 'reference' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2626:1: ( 'reference' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2627:1: 'reference'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getInclusionDeclarationAccess().getReferenceKeyword_0()); 
            }
            match(input,46,FollowSets000.FOLLOW_46_in_rule__InclusionDeclaration__Group__0__Impl5708); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getInclusionDeclarationAccess().getReferenceKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__InclusionDeclaration__Group__0__Impl


    // $ANTLR start rule__InclusionDeclaration__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2640:1: rule__InclusionDeclaration__Group__1 : rule__InclusionDeclaration__Group__1__Impl ;
    public final void rule__InclusionDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2644:1: ( rule__InclusionDeclaration__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2645:2: rule__InclusionDeclaration__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__InclusionDeclaration__Group__1__Impl_in_rule__InclusionDeclaration__Group__15739);
            rule__InclusionDeclaration__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__InclusionDeclaration__Group__1


    // $ANTLR start rule__InclusionDeclaration__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2651:1: rule__InclusionDeclaration__Group__1__Impl : ( ( rule__InclusionDeclaration__ImportURIAssignment_1 ) ) ;
    public final void rule__InclusionDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2655:1: ( ( ( rule__InclusionDeclaration__ImportURIAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2656:1: ( ( rule__InclusionDeclaration__ImportURIAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2656:1: ( ( rule__InclusionDeclaration__ImportURIAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2657:1: ( rule__InclusionDeclaration__ImportURIAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getInclusionDeclarationAccess().getImportURIAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2658:1: ( rule__InclusionDeclaration__ImportURIAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2658:2: rule__InclusionDeclaration__ImportURIAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__InclusionDeclaration__ImportURIAssignment_1_in_rule__InclusionDeclaration__Group__1__Impl5766);
            rule__InclusionDeclaration__ImportURIAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getInclusionDeclarationAccess().getImportURIAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__InclusionDeclaration__Group__1__Impl


    // $ANTLR start rule__PatternDeclaration__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2672:1: rule__PatternDeclaration__Group__0 : rule__PatternDeclaration__Group__0__Impl rule__PatternDeclaration__Group__1 ;
    public final void rule__PatternDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2676:1: ( rule__PatternDeclaration__Group__0__Impl rule__PatternDeclaration__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2677:2: rule__PatternDeclaration__Group__0__Impl rule__PatternDeclaration__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__0__Impl_in_rule__PatternDeclaration__Group__05800);
            rule__PatternDeclaration__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__1_in_rule__PatternDeclaration__Group__05803);
            rule__PatternDeclaration__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__0


    // $ANTLR start rule__PatternDeclaration__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2684:1: rule__PatternDeclaration__Group__0__Impl : ( 'pattern' ) ;
    public final void rule__PatternDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2688:1: ( ( 'pattern' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2689:1: ( 'pattern' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2689:1: ( 'pattern' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2690:1: 'pattern'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getPatternKeyword_0()); 
            }
            match(input,47,FollowSets000.FOLLOW_47_in_rule__PatternDeclaration__Group__0__Impl5831); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getPatternKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__0__Impl


    // $ANTLR start rule__PatternDeclaration__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2703:1: rule__PatternDeclaration__Group__1 : rule__PatternDeclaration__Group__1__Impl rule__PatternDeclaration__Group__2 ;
    public final void rule__PatternDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2707:1: ( rule__PatternDeclaration__Group__1__Impl rule__PatternDeclaration__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2708:2: rule__PatternDeclaration__Group__1__Impl rule__PatternDeclaration__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__1__Impl_in_rule__PatternDeclaration__Group__15862);
            rule__PatternDeclaration__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__2_in_rule__PatternDeclaration__Group__15865);
            rule__PatternDeclaration__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__1


    // $ANTLR start rule__PatternDeclaration__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2715:1: rule__PatternDeclaration__Group__1__Impl : ( ( rule__PatternDeclaration__NameAssignment_1 ) ) ;
    public final void rule__PatternDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2719:1: ( ( ( rule__PatternDeclaration__NameAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2720:1: ( ( rule__PatternDeclaration__NameAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2720:1: ( ( rule__PatternDeclaration__NameAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2721:1: ( rule__PatternDeclaration__NameAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getNameAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2722:1: ( rule__PatternDeclaration__NameAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2722:2: rule__PatternDeclaration__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__NameAssignment_1_in_rule__PatternDeclaration__Group__1__Impl5892);
            rule__PatternDeclaration__NameAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__1__Impl


    // $ANTLR start rule__PatternDeclaration__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2732:1: rule__PatternDeclaration__Group__2 : rule__PatternDeclaration__Group__2__Impl rule__PatternDeclaration__Group__3 ;
    public final void rule__PatternDeclaration__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2736:1: ( rule__PatternDeclaration__Group__2__Impl rule__PatternDeclaration__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2737:2: rule__PatternDeclaration__Group__2__Impl rule__PatternDeclaration__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__2__Impl_in_rule__PatternDeclaration__Group__25922);
            rule__PatternDeclaration__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__3_in_rule__PatternDeclaration__Group__25925);
            rule__PatternDeclaration__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__2


    // $ANTLR start rule__PatternDeclaration__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2744:1: rule__PatternDeclaration__Group__2__Impl : ( ( rule__PatternDeclaration__Group_2__0 )? ) ;
    public final void rule__PatternDeclaration__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2748:1: ( ( ( rule__PatternDeclaration__Group_2__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2749:1: ( ( rule__PatternDeclaration__Group_2__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2749:1: ( ( rule__PatternDeclaration__Group_2__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2750:1: ( rule__PatternDeclaration__Group_2__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getGroup_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2751:1: ( rule__PatternDeclaration__Group_2__0 )?
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==50) ) {
                alt32=1;
            }
            switch (alt32) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2751:2: rule__PatternDeclaration__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_2__0_in_rule__PatternDeclaration__Group__2__Impl5952);
                    rule__PatternDeclaration__Group_2__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__2__Impl


    // $ANTLR start rule__PatternDeclaration__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2761:1: rule__PatternDeclaration__Group__3 : rule__PatternDeclaration__Group__3__Impl rule__PatternDeclaration__Group__4 ;
    public final void rule__PatternDeclaration__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2765:1: ( rule__PatternDeclaration__Group__3__Impl rule__PatternDeclaration__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2766:2: rule__PatternDeclaration__Group__3__Impl rule__PatternDeclaration__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__3__Impl_in_rule__PatternDeclaration__Group__35983);
            rule__PatternDeclaration__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__4_in_rule__PatternDeclaration__Group__35986);
            rule__PatternDeclaration__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__3


    // $ANTLR start rule__PatternDeclaration__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2773:1: rule__PatternDeclaration__Group__3__Impl : ( '(' ) ;
    public final void rule__PatternDeclaration__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2777:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2778:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2778:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2779:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getLeftParenthesisKeyword_3()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__PatternDeclaration__Group__3__Impl6014); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getLeftParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__3__Impl


    // $ANTLR start rule__PatternDeclaration__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2792:1: rule__PatternDeclaration__Group__4 : rule__PatternDeclaration__Group__4__Impl rule__PatternDeclaration__Group__5 ;
    public final void rule__PatternDeclaration__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2796:1: ( rule__PatternDeclaration__Group__4__Impl rule__PatternDeclaration__Group__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2797:2: rule__PatternDeclaration__Group__4__Impl rule__PatternDeclaration__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__4__Impl_in_rule__PatternDeclaration__Group__46045);
            rule__PatternDeclaration__Group__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__5_in_rule__PatternDeclaration__Group__46048);
            rule__PatternDeclaration__Group__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__4


    // $ANTLR start rule__PatternDeclaration__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2804:1: rule__PatternDeclaration__Group__4__Impl : ( ( rule__PatternDeclaration__Group_4__0 )? ) ;
    public final void rule__PatternDeclaration__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2808:1: ( ( ( rule__PatternDeclaration__Group_4__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2809:1: ( ( rule__PatternDeclaration__Group_4__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2809:1: ( ( rule__PatternDeclaration__Group_4__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2810:1: ( rule__PatternDeclaration__Group_4__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getGroup_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2811:1: ( rule__PatternDeclaration__Group_4__0 )?
            int alt33=2;
            int LA33_0 = input.LA(1);

            if ( ((LA33_0>=RULE_ID && LA33_0<=RULE_INT)||(LA33_0>=36 && LA33_0<=43)||LA33_0==48||LA33_0==54||LA33_0==61||LA33_0==67||LA33_0==69||LA33_0==82||(LA33_0>=84 && LA33_0<=88)) ) {
                alt33=1;
            }
            switch (alt33) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2811:2: rule__PatternDeclaration__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4__0_in_rule__PatternDeclaration__Group__4__Impl6075);
                    rule__PatternDeclaration__Group_4__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getGroup_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__4__Impl


    // $ANTLR start rule__PatternDeclaration__Group__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2821:1: rule__PatternDeclaration__Group__5 : rule__PatternDeclaration__Group__5__Impl rule__PatternDeclaration__Group__6 ;
    public final void rule__PatternDeclaration__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2825:1: ( rule__PatternDeclaration__Group__5__Impl rule__PatternDeclaration__Group__6 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2826:2: rule__PatternDeclaration__Group__5__Impl rule__PatternDeclaration__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__5__Impl_in_rule__PatternDeclaration__Group__56106);
            rule__PatternDeclaration__Group__5__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__6_in_rule__PatternDeclaration__Group__56109);
            rule__PatternDeclaration__Group__6();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__5


    // $ANTLR start rule__PatternDeclaration__Group__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2833:1: rule__PatternDeclaration__Group__5__Impl : ( ')' ) ;
    public final void rule__PatternDeclaration__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2837:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2838:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2838:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2839:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getRightParenthesisKeyword_5()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__PatternDeclaration__Group__5__Impl6137); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getRightParenthesisKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__5__Impl


    // $ANTLR start rule__PatternDeclaration__Group__6
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2852:1: rule__PatternDeclaration__Group__6 : rule__PatternDeclaration__Group__6__Impl ;
    public final void rule__PatternDeclaration__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2856:1: ( rule__PatternDeclaration__Group__6__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2857:2: rule__PatternDeclaration__Group__6__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group__6__Impl_in_rule__PatternDeclaration__Group__66168);
            rule__PatternDeclaration__Group__6__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__6


    // $ANTLR start rule__PatternDeclaration__Group__6__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2863:1: rule__PatternDeclaration__Group__6__Impl : ( ( rule__PatternDeclaration__ChildrenAssignment_6 )? ) ;
    public final void rule__PatternDeclaration__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2867:1: ( ( ( rule__PatternDeclaration__ChildrenAssignment_6 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2868:1: ( ( rule__PatternDeclaration__ChildrenAssignment_6 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2868:1: ( ( rule__PatternDeclaration__ChildrenAssignment_6 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2869:1: ( rule__PatternDeclaration__ChildrenAssignment_6 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getChildrenAssignment_6()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2870:1: ( rule__PatternDeclaration__ChildrenAssignment_6 )?
            int alt34=2;
            int LA34_0 = input.LA(1);

            if ( (LA34_0==54) ) {
                int LA34_1 = input.LA(2);

                if ( (synpred70()) ) {
                    alt34=1;
                }
            }
            switch (alt34) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2870:2: rule__PatternDeclaration__ChildrenAssignment_6
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__ChildrenAssignment_6_in_rule__PatternDeclaration__Group__6__Impl6195);
                    rule__PatternDeclaration__ChildrenAssignment_6();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getChildrenAssignment_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group__6__Impl


    // $ANTLR start rule__PatternDeclaration__Group_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2894:1: rule__PatternDeclaration__Group_2__0 : rule__PatternDeclaration__Group_2__0__Impl rule__PatternDeclaration__Group_2__1 ;
    public final void rule__PatternDeclaration__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2898:1: ( rule__PatternDeclaration__Group_2__0__Impl rule__PatternDeclaration__Group_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2899:2: rule__PatternDeclaration__Group_2__0__Impl rule__PatternDeclaration__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_2__0__Impl_in_rule__PatternDeclaration__Group_2__06240);
            rule__PatternDeclaration__Group_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_2__1_in_rule__PatternDeclaration__Group_2__06243);
            rule__PatternDeclaration__Group_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_2__0


    // $ANTLR start rule__PatternDeclaration__Group_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2906:1: rule__PatternDeclaration__Group_2__0__Impl : ( ':' ) ;
    public final void rule__PatternDeclaration__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2910:1: ( ( ':' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2911:1: ( ':' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2911:1: ( ':' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2912:1: ':'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getColonKeyword_2_0()); 
            }
            match(input,50,FollowSets000.FOLLOW_50_in_rule__PatternDeclaration__Group_2__0__Impl6271); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getColonKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_2__0__Impl


    // $ANTLR start rule__PatternDeclaration__Group_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2925:1: rule__PatternDeclaration__Group_2__1 : rule__PatternDeclaration__Group_2__1__Impl ;
    public final void rule__PatternDeclaration__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2929:1: ( rule__PatternDeclaration__Group_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2930:2: rule__PatternDeclaration__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_2__1__Impl_in_rule__PatternDeclaration__Group_2__16302);
            rule__PatternDeclaration__Group_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_2__1


    // $ANTLR start rule__PatternDeclaration__Group_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2936:1: rule__PatternDeclaration__Group_2__1__Impl : ( ( rule__PatternDeclaration__ReturnTypeAssignment_2_1 ) ) ;
    public final void rule__PatternDeclaration__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2940:1: ( ( ( rule__PatternDeclaration__ReturnTypeAssignment_2_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2941:1: ( ( rule__PatternDeclaration__ReturnTypeAssignment_2_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2941:1: ( ( rule__PatternDeclaration__ReturnTypeAssignment_2_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2942:1: ( rule__PatternDeclaration__ReturnTypeAssignment_2_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getReturnTypeAssignment_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2943:1: ( rule__PatternDeclaration__ReturnTypeAssignment_2_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2943:2: rule__PatternDeclaration__ReturnTypeAssignment_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__ReturnTypeAssignment_2_1_in_rule__PatternDeclaration__Group_2__1__Impl6329);
            rule__PatternDeclaration__ReturnTypeAssignment_2_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getReturnTypeAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_2__1__Impl


    // $ANTLR start rule__PatternDeclaration__Group_4__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2957:1: rule__PatternDeclaration__Group_4__0 : rule__PatternDeclaration__Group_4__0__Impl rule__PatternDeclaration__Group_4__1 ;
    public final void rule__PatternDeclaration__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2961:1: ( rule__PatternDeclaration__Group_4__0__Impl rule__PatternDeclaration__Group_4__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2962:2: rule__PatternDeclaration__Group_4__0__Impl rule__PatternDeclaration__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4__0__Impl_in_rule__PatternDeclaration__Group_4__06363);
            rule__PatternDeclaration__Group_4__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4__1_in_rule__PatternDeclaration__Group_4__06366);
            rule__PatternDeclaration__Group_4__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4__0


    // $ANTLR start rule__PatternDeclaration__Group_4__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2969:1: rule__PatternDeclaration__Group_4__0__Impl : ( ( rule__PatternDeclaration__ArgumentsAssignment_4_0 ) ) ;
    public final void rule__PatternDeclaration__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2973:1: ( ( ( rule__PatternDeclaration__ArgumentsAssignment_4_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2974:1: ( ( rule__PatternDeclaration__ArgumentsAssignment_4_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2974:1: ( ( rule__PatternDeclaration__ArgumentsAssignment_4_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2975:1: ( rule__PatternDeclaration__ArgumentsAssignment_4_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getArgumentsAssignment_4_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2976:1: ( rule__PatternDeclaration__ArgumentsAssignment_4_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2976:2: rule__PatternDeclaration__ArgumentsAssignment_4_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__ArgumentsAssignment_4_0_in_rule__PatternDeclaration__Group_4__0__Impl6393);
            rule__PatternDeclaration__ArgumentsAssignment_4_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getArgumentsAssignment_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4__0__Impl


    // $ANTLR start rule__PatternDeclaration__Group_4__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2986:1: rule__PatternDeclaration__Group_4__1 : rule__PatternDeclaration__Group_4__1__Impl ;
    public final void rule__PatternDeclaration__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2990:1: ( rule__PatternDeclaration__Group_4__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2991:2: rule__PatternDeclaration__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4__1__Impl_in_rule__PatternDeclaration__Group_4__16423);
            rule__PatternDeclaration__Group_4__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4__1


    // $ANTLR start rule__PatternDeclaration__Group_4__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2997:1: rule__PatternDeclaration__Group_4__1__Impl : ( ( rule__PatternDeclaration__Group_4_1__0 )* ) ;
    public final void rule__PatternDeclaration__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3001:1: ( ( ( rule__PatternDeclaration__Group_4_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3002:1: ( ( rule__PatternDeclaration__Group_4_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3002:1: ( ( rule__PatternDeclaration__Group_4_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3003:1: ( rule__PatternDeclaration__Group_4_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getGroup_4_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3004:1: ( rule__PatternDeclaration__Group_4_1__0 )*
            loop35:
            do {
                int alt35=2;
                int LA35_0 = input.LA(1);

                if ( (LA35_0==51) ) {
                    alt35=1;
                }


                switch (alt35) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3004:2: rule__PatternDeclaration__Group_4_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4_1__0_in_rule__PatternDeclaration__Group_4__1__Impl6450);
            	    rule__PatternDeclaration__Group_4_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop35;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getGroup_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4__1__Impl


    // $ANTLR start rule__PatternDeclaration__Group_4_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3018:1: rule__PatternDeclaration__Group_4_1__0 : rule__PatternDeclaration__Group_4_1__0__Impl rule__PatternDeclaration__Group_4_1__1 ;
    public final void rule__PatternDeclaration__Group_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3022:1: ( rule__PatternDeclaration__Group_4_1__0__Impl rule__PatternDeclaration__Group_4_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3023:2: rule__PatternDeclaration__Group_4_1__0__Impl rule__PatternDeclaration__Group_4_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4_1__0__Impl_in_rule__PatternDeclaration__Group_4_1__06485);
            rule__PatternDeclaration__Group_4_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4_1__1_in_rule__PatternDeclaration__Group_4_1__06488);
            rule__PatternDeclaration__Group_4_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4_1__0


    // $ANTLR start rule__PatternDeclaration__Group_4_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3030:1: rule__PatternDeclaration__Group_4_1__0__Impl : ( ',' ) ;
    public final void rule__PatternDeclaration__Group_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3034:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3035:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3035:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3036:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getCommaKeyword_4_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__PatternDeclaration__Group_4_1__0__Impl6516); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getCommaKeyword_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4_1__0__Impl


    // $ANTLR start rule__PatternDeclaration__Group_4_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3049:1: rule__PatternDeclaration__Group_4_1__1 : rule__PatternDeclaration__Group_4_1__1__Impl ;
    public final void rule__PatternDeclaration__Group_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3053:1: ( rule__PatternDeclaration__Group_4_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3054:2: rule__PatternDeclaration__Group_4_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__Group_4_1__1__Impl_in_rule__PatternDeclaration__Group_4_1__16547);
            rule__PatternDeclaration__Group_4_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4_1__1


    // $ANTLR start rule__PatternDeclaration__Group_4_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3060:1: rule__PatternDeclaration__Group_4_1__1__Impl : ( ( rule__PatternDeclaration__ArgumentsAssignment_4_1_1 ) ) ;
    public final void rule__PatternDeclaration__Group_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3064:1: ( ( ( rule__PatternDeclaration__ArgumentsAssignment_4_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3065:1: ( ( rule__PatternDeclaration__ArgumentsAssignment_4_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3065:1: ( ( rule__PatternDeclaration__ArgumentsAssignment_4_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3066:1: ( rule__PatternDeclaration__ArgumentsAssignment_4_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getArgumentsAssignment_4_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3067:1: ( rule__PatternDeclaration__ArgumentsAssignment_4_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3067:2: rule__PatternDeclaration__ArgumentsAssignment_4_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__ArgumentsAssignment_4_1_1_in_rule__PatternDeclaration__Group_4_1__1__Impl6574);
            rule__PatternDeclaration__ArgumentsAssignment_4_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getArgumentsAssignment_4_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__Group_4_1__1__Impl


    // $ANTLR start rule__ConstantDeclaration__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3081:1: rule__ConstantDeclaration__Group__0 : rule__ConstantDeclaration__Group__0__Impl rule__ConstantDeclaration__Group__1 ;
    public final void rule__ConstantDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3085:1: ( rule__ConstantDeclaration__Group__0__Impl rule__ConstantDeclaration__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3086:2: rule__ConstantDeclaration__Group__0__Impl rule__ConstantDeclaration__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__0__Impl_in_rule__ConstantDeclaration__Group__06608);
            rule__ConstantDeclaration__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__1_in_rule__ConstantDeclaration__Group__06611);
            rule__ConstantDeclaration__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__0


    // $ANTLR start rule__ConstantDeclaration__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3093:1: rule__ConstantDeclaration__Group__0__Impl : ( 'const' ) ;
    public final void rule__ConstantDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3097:1: ( ( 'const' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3098:1: ( 'const' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3098:1: ( 'const' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3099:1: 'const'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); 
            }
            match(input,52,FollowSets000.FOLLOW_52_in_rule__ConstantDeclaration__Group__0__Impl6639); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__0__Impl


    // $ANTLR start rule__ConstantDeclaration__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3112:1: rule__ConstantDeclaration__Group__1 : rule__ConstantDeclaration__Group__1__Impl rule__ConstantDeclaration__Group__2 ;
    public final void rule__ConstantDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3116:1: ( rule__ConstantDeclaration__Group__1__Impl rule__ConstantDeclaration__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3117:2: rule__ConstantDeclaration__Group__1__Impl rule__ConstantDeclaration__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__1__Impl_in_rule__ConstantDeclaration__Group__16670);
            rule__ConstantDeclaration__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__2_in_rule__ConstantDeclaration__Group__16673);
            rule__ConstantDeclaration__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__1


    // $ANTLR start rule__ConstantDeclaration__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3124:1: rule__ConstantDeclaration__Group__1__Impl : ( ( rule__ConstantDeclaration__NameAssignment_1 ) ) ;
    public final void rule__ConstantDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3128:1: ( ( ( rule__ConstantDeclaration__NameAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3129:1: ( ( rule__ConstantDeclaration__NameAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3129:1: ( ( rule__ConstantDeclaration__NameAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3130:1: ( rule__ConstantDeclaration__NameAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getNameAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3131:1: ( rule__ConstantDeclaration__NameAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3131:2: rule__ConstantDeclaration__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__NameAssignment_1_in_rule__ConstantDeclaration__Group__1__Impl6700);
            rule__ConstantDeclaration__NameAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__1__Impl


    // $ANTLR start rule__ConstantDeclaration__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3141:1: rule__ConstantDeclaration__Group__2 : rule__ConstantDeclaration__Group__2__Impl rule__ConstantDeclaration__Group__3 ;
    public final void rule__ConstantDeclaration__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3145:1: ( rule__ConstantDeclaration__Group__2__Impl rule__ConstantDeclaration__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3146:2: rule__ConstantDeclaration__Group__2__Impl rule__ConstantDeclaration__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__2__Impl_in_rule__ConstantDeclaration__Group__26730);
            rule__ConstantDeclaration__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__3_in_rule__ConstantDeclaration__Group__26733);
            rule__ConstantDeclaration__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__2


    // $ANTLR start rule__ConstantDeclaration__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3153:1: rule__ConstantDeclaration__Group__2__Impl : ( '=' ) ;
    public final void rule__ConstantDeclaration__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3157:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3158:1: ( '=' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3158:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3159:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getEqualsSignKeyword_2()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__ConstantDeclaration__Group__2__Impl6761); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getEqualsSignKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__2__Impl


    // $ANTLR start rule__ConstantDeclaration__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3172:1: rule__ConstantDeclaration__Group__3 : rule__ConstantDeclaration__Group__3__Impl rule__ConstantDeclaration__Group__4 ;
    public final void rule__ConstantDeclaration__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3176:1: ( rule__ConstantDeclaration__Group__3__Impl rule__ConstantDeclaration__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3177:2: rule__ConstantDeclaration__Group__3__Impl rule__ConstantDeclaration__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__3__Impl_in_rule__ConstantDeclaration__Group__36792);
            rule__ConstantDeclaration__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__4_in_rule__ConstantDeclaration__Group__36795);
            rule__ConstantDeclaration__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__3


    // $ANTLR start rule__ConstantDeclaration__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3184:1: rule__ConstantDeclaration__Group__3__Impl : ( ( rule__ConstantDeclaration__ValueAssignment_3 ) ) ;
    public final void rule__ConstantDeclaration__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3188:1: ( ( ( rule__ConstantDeclaration__ValueAssignment_3 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3189:1: ( ( rule__ConstantDeclaration__ValueAssignment_3 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3189:1: ( ( rule__ConstantDeclaration__ValueAssignment_3 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3190:1: ( rule__ConstantDeclaration__ValueAssignment_3 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getValueAssignment_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3191:1: ( rule__ConstantDeclaration__ValueAssignment_3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3191:2: rule__ConstantDeclaration__ValueAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__ValueAssignment_3_in_rule__ConstantDeclaration__Group__3__Impl6822);
            rule__ConstantDeclaration__ValueAssignment_3();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getValueAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__3__Impl


    // $ANTLR start rule__ConstantDeclaration__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3201:1: rule__ConstantDeclaration__Group__4 : rule__ConstantDeclaration__Group__4__Impl ;
    public final void rule__ConstantDeclaration__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3205:1: ( rule__ConstantDeclaration__Group__4__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3206:2: rule__ConstantDeclaration__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConstantDeclaration__Group__4__Impl_in_rule__ConstantDeclaration__Group__46852);
            rule__ConstantDeclaration__Group__4__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__4


    // $ANTLR start rule__ConstantDeclaration__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3212:1: rule__ConstantDeclaration__Group__4__Impl : ( ';' ) ;
    public final void rule__ConstantDeclaration__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3216:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3217:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3217:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3218:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getSemicolonKeyword_4()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__ConstantDeclaration__Group__4__Impl6880); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getSemicolonKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__Group__4__Impl


    // $ANTLR start rule__Statement__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3241:1: rule__Statement__Group_1__0 : rule__Statement__Group_1__0__Impl rule__Statement__Group_1__1 ;
    public final void rule__Statement__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3245:1: ( rule__Statement__Group_1__0__Impl rule__Statement__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3246:2: rule__Statement__Group_1__0__Impl rule__Statement__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_1__0__Impl_in_rule__Statement__Group_1__06921);
            rule__Statement__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_1__1_in_rule__Statement__Group_1__06924);
            rule__Statement__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_1__0


    // $ANTLR start rule__Statement__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3253:1: rule__Statement__Group_1__0__Impl : ( ruleDeclarationStatement ) ;
    public final void rule__Statement__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3257:1: ( ( ruleDeclarationStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3258:1: ( ruleDeclarationStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3258:1: ( ruleDeclarationStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3259:1: ruleDeclarationStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getDeclarationStatementParserRuleCall_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDeclarationStatement_in_rule__Statement__Group_1__0__Impl6951);
            ruleDeclarationStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getDeclarationStatementParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_1__0__Impl


    // $ANTLR start rule__Statement__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3270:1: rule__Statement__Group_1__1 : rule__Statement__Group_1__1__Impl ;
    public final void rule__Statement__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3274:1: ( rule__Statement__Group_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3275:2: rule__Statement__Group_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_1__1__Impl_in_rule__Statement__Group_1__16980);
            rule__Statement__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_1__1


    // $ANTLR start rule__Statement__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3281:1: rule__Statement__Group_1__1__Impl : ( ';' ) ;
    public final void rule__Statement__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3285:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3286:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3286:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3287:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getSemicolonKeyword_1_1()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__Statement__Group_1__1__Impl7008); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getSemicolonKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_1__1__Impl


    // $ANTLR start rule__Statement__Group_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3304:1: rule__Statement__Group_2__0 : rule__Statement__Group_2__0__Impl rule__Statement__Group_2__1 ;
    public final void rule__Statement__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3308:1: ( rule__Statement__Group_2__0__Impl rule__Statement__Group_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3309:2: rule__Statement__Group_2__0__Impl rule__Statement__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_2__0__Impl_in_rule__Statement__Group_2__07043);
            rule__Statement__Group_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_2__1_in_rule__Statement__Group_2__07046);
            rule__Statement__Group_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_2__0


    // $ANTLR start rule__Statement__Group_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3316:1: rule__Statement__Group_2__0__Impl : ( ruleLocateStatement ) ;
    public final void rule__Statement__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3320:1: ( ( ruleLocateStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3321:1: ( ruleLocateStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3321:1: ( ruleLocateStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3322:1: ruleLocateStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getLocateStatementParserRuleCall_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleLocateStatement_in_rule__Statement__Group_2__0__Impl7073);
            ruleLocateStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getLocateStatementParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_2__0__Impl


    // $ANTLR start rule__Statement__Group_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3333:1: rule__Statement__Group_2__1 : rule__Statement__Group_2__1__Impl ;
    public final void rule__Statement__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3337:1: ( rule__Statement__Group_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3338:2: rule__Statement__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_2__1__Impl_in_rule__Statement__Group_2__17102);
            rule__Statement__Group_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_2__1


    // $ANTLR start rule__Statement__Group_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3344:1: rule__Statement__Group_2__1__Impl : ( ';' ) ;
    public final void rule__Statement__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3348:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3349:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3349:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3350:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getSemicolonKeyword_2_1()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__Statement__Group_2__1__Impl7130); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getSemicolonKeyword_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_2__1__Impl


    // $ANTLR start rule__Statement__Group_4__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3367:1: rule__Statement__Group_4__0 : rule__Statement__Group_4__0__Impl rule__Statement__Group_4__1 ;
    public final void rule__Statement__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3371:1: ( rule__Statement__Group_4__0__Impl rule__Statement__Group_4__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3372:2: rule__Statement__Group_4__0__Impl rule__Statement__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_4__0__Impl_in_rule__Statement__Group_4__07165);
            rule__Statement__Group_4__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_4__1_in_rule__Statement__Group_4__07168);
            rule__Statement__Group_4__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_4__0


    // $ANTLR start rule__Statement__Group_4__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3379:1: rule__Statement__Group_4__0__Impl : ( ruleSimpleExpression ) ;
    public final void rule__Statement__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3383:1: ( ( ruleSimpleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3384:1: ( ruleSimpleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3384:1: ( ruleSimpleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3385:1: ruleSimpleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getSimpleExpressionParserRuleCall_4_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleSimpleExpression_in_rule__Statement__Group_4__0__Impl7195);
            ruleSimpleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getSimpleExpressionParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_4__0__Impl


    // $ANTLR start rule__Statement__Group_4__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3396:1: rule__Statement__Group_4__1 : rule__Statement__Group_4__1__Impl ;
    public final void rule__Statement__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3400:1: ( rule__Statement__Group_4__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3401:2: rule__Statement__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_4__1__Impl_in_rule__Statement__Group_4__17224);
            rule__Statement__Group_4__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_4__1


    // $ANTLR start rule__Statement__Group_4__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3407:1: rule__Statement__Group_4__1__Impl : ( ';' ) ;
    public final void rule__Statement__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3411:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3412:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3412:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3413:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getSemicolonKeyword_4_1()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__Statement__Group_4__1__Impl7252); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getSemicolonKeyword_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_4__1__Impl


    // $ANTLR start rule__Statement__Group_6__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3430:1: rule__Statement__Group_6__0 : rule__Statement__Group_6__0__Impl rule__Statement__Group_6__1 ;
    public final void rule__Statement__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3434:1: ( rule__Statement__Group_6__0__Impl rule__Statement__Group_6__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3435:2: rule__Statement__Group_6__0__Impl rule__Statement__Group_6__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_6__0__Impl_in_rule__Statement__Group_6__07287);
            rule__Statement__Group_6__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_6__1_in_rule__Statement__Group_6__07290);
            rule__Statement__Group_6__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_6__0


    // $ANTLR start rule__Statement__Group_6__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3442:1: rule__Statement__Group_6__0__Impl : ( ruleEmptyStatement ) ;
    public final void rule__Statement__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3446:1: ( ( ruleEmptyStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3447:1: ( ruleEmptyStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3447:1: ( ruleEmptyStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3448:1: ruleEmptyStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getEmptyStatementParserRuleCall_6_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleEmptyStatement_in_rule__Statement__Group_6__0__Impl7317);
            ruleEmptyStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getEmptyStatementParserRuleCall_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_6__0__Impl


    // $ANTLR start rule__Statement__Group_6__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3459:1: rule__Statement__Group_6__1 : rule__Statement__Group_6__1__Impl ;
    public final void rule__Statement__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3463:1: ( rule__Statement__Group_6__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3464:2: rule__Statement__Group_6__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Statement__Group_6__1__Impl_in_rule__Statement__Group_6__17346);
            rule__Statement__Group_6__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_6__1


    // $ANTLR start rule__Statement__Group_6__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3470:1: rule__Statement__Group_6__1__Impl : ( ';' ) ;
    public final void rule__Statement__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3474:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3475:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3475:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3476:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getSemicolonKeyword_6_1()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__Statement__Group_6__1__Impl7374); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementAccess().getSemicolonKeyword_6_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Statement__Group_6__1__Impl


    // $ANTLR start rule__BlockSpecialStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3493:1: rule__BlockSpecialStatement__Group__0 : rule__BlockSpecialStatement__Group__0__Impl rule__BlockSpecialStatement__Group__1 ;
    public final void rule__BlockSpecialStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3497:1: ( rule__BlockSpecialStatement__Group__0__Impl rule__BlockSpecialStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3498:2: rule__BlockSpecialStatement__Group__0__Impl rule__BlockSpecialStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BlockSpecialStatement__Group__0__Impl_in_rule__BlockSpecialStatement__Group__07409);
            rule__BlockSpecialStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BlockSpecialStatement__Group__1_in_rule__BlockSpecialStatement__Group__07412);
            rule__BlockSpecialStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BlockSpecialStatement__Group__0


    // $ANTLR start rule__BlockSpecialStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3505:1: rule__BlockSpecialStatement__Group__0__Impl : ( () ) ;
    public final void rule__BlockSpecialStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3509:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3510:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3510:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3511:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBlockSpecialStatementAccess().getSpecialStatementAction_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3512:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3514:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBlockSpecialStatementAccess().getSpecialStatementAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BlockSpecialStatement__Group__0__Impl


    // $ANTLR start rule__BlockSpecialStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3524:1: rule__BlockSpecialStatement__Group__1 : rule__BlockSpecialStatement__Group__1__Impl ;
    public final void rule__BlockSpecialStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3528:1: ( rule__BlockSpecialStatement__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3529:2: rule__BlockSpecialStatement__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__BlockSpecialStatement__Group__1__Impl_in_rule__BlockSpecialStatement__Group__17470);
            rule__BlockSpecialStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BlockSpecialStatement__Group__1


    // $ANTLR start rule__BlockSpecialStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3535:1: rule__BlockSpecialStatement__Group__1__Impl : ( ( rule__BlockSpecialStatement__NameAssignment_1 ) ) ;
    public final void rule__BlockSpecialStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3539:1: ( ( ( rule__BlockSpecialStatement__NameAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3540:1: ( ( rule__BlockSpecialStatement__NameAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3540:1: ( ( rule__BlockSpecialStatement__NameAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3541:1: ( rule__BlockSpecialStatement__NameAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBlockSpecialStatementAccess().getNameAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3542:1: ( rule__BlockSpecialStatement__NameAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3542:2: rule__BlockSpecialStatement__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BlockSpecialStatement__NameAssignment_1_in_rule__BlockSpecialStatement__Group__1__Impl7497);
            rule__BlockSpecialStatement__NameAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBlockSpecialStatementAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BlockSpecialStatement__Group__1__Impl


    // $ANTLR start rule__ReturnStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3556:1: rule__ReturnStatement__Group__0 : rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1 ;
    public final void rule__ReturnStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3560:1: ( rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3561:2: rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ReturnStatement__Group__0__Impl_in_rule__ReturnStatement__Group__07531);
            rule__ReturnStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ReturnStatement__Group__1_in_rule__ReturnStatement__Group__07534);
            rule__ReturnStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ReturnStatement__Group__0


    // $ANTLR start rule__ReturnStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3568:1: rule__ReturnStatement__Group__0__Impl : ( ( rule__ReturnStatement__NameAssignment_0 ) ) ;
    public final void rule__ReturnStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3572:1: ( ( ( rule__ReturnStatement__NameAssignment_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3573:1: ( ( rule__ReturnStatement__NameAssignment_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3573:1: ( ( rule__ReturnStatement__NameAssignment_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3574:1: ( rule__ReturnStatement__NameAssignment_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getNameAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3575:1: ( rule__ReturnStatement__NameAssignment_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3575:2: rule__ReturnStatement__NameAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ReturnStatement__NameAssignment_0_in_rule__ReturnStatement__Group__0__Impl7561);
            rule__ReturnStatement__NameAssignment_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ReturnStatement__Group__0__Impl


    // $ANTLR start rule__ReturnStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3585:1: rule__ReturnStatement__Group__1 : rule__ReturnStatement__Group__1__Impl ;
    public final void rule__ReturnStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3589:1: ( rule__ReturnStatement__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3590:2: rule__ReturnStatement__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ReturnStatement__Group__1__Impl_in_rule__ReturnStatement__Group__17591);
            rule__ReturnStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ReturnStatement__Group__1


    // $ANTLR start rule__ReturnStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3596:1: rule__ReturnStatement__Group__1__Impl : ( ( rule__ReturnStatement__ChildrenAssignment_1 )? ) ;
    public final void rule__ReturnStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3600:1: ( ( ( rule__ReturnStatement__ChildrenAssignment_1 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3601:1: ( ( rule__ReturnStatement__ChildrenAssignment_1 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3601:1: ( ( rule__ReturnStatement__ChildrenAssignment_1 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3602:1: ( rule__ReturnStatement__ChildrenAssignment_1 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getChildrenAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3603:1: ( rule__ReturnStatement__ChildrenAssignment_1 )?
            int alt36=2;
            switch ( input.LA(1) ) {
                case 82:
                    {
                    int LA36_1 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case RULE_STRING:
                    {
                    int LA36_2 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case RULE_VERBATIM_STRING:
                    {
                    int LA36_3 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case RULE_INT:
                    {
                    int LA36_4 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 69:
                    {
                    int LA36_5 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case RULE_ID:
                    {
                    int LA36_6 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 38:
                    {
                    int LA36_7 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 39:
                    {
                    int LA36_8 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 40:
                    {
                    int LA36_9 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 41:
                    {
                    int LA36_10 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 48:
                    {
                    int LA36_11 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 84:
                    {
                    int LA36_12 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 36:
                    {
                    int LA36_13 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 37:
                    {
                    int LA36_14 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 85:
                    {
                    int LA36_15 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 86:
                    {
                    int LA36_16 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 87:
                    {
                    int LA36_17 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 88:
                    {
                    int LA36_18 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 42:
                    {
                    int LA36_19 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 43:
                    {
                    int LA36_20 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 61:
                    {
                    int LA36_21 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 54:
                    {
                    int LA36_22 = input.LA(2);

                    if ( (synpred72()) ) {
                        alt36=1;
                    }
                    }
                    break;
                case 67:
                    {
                    alt36=1;
                    }
                    break;
            }

            switch (alt36) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3603:2: rule__ReturnStatement__ChildrenAssignment_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ReturnStatement__ChildrenAssignment_1_in_rule__ReturnStatement__Group__1__Impl7618);
                    rule__ReturnStatement__ChildrenAssignment_1();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getChildrenAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ReturnStatement__Group__1__Impl


    // $ANTLR start rule__CompositeStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3617:1: rule__CompositeStatement__Group__0 : rule__CompositeStatement__Group__0__Impl rule__CompositeStatement__Group__1 ;
    public final void rule__CompositeStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3621:1: ( rule__CompositeStatement__Group__0__Impl rule__CompositeStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3622:2: rule__CompositeStatement__Group__0__Impl rule__CompositeStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__0__Impl_in_rule__CompositeStatement__Group__07653);
            rule__CompositeStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__1_in_rule__CompositeStatement__Group__07656);
            rule__CompositeStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__0


    // $ANTLR start rule__CompositeStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3629:1: rule__CompositeStatement__Group__0__Impl : ( () ) ;
    public final void rule__CompositeStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3633:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3634:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3634:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3635:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getCompositeStatementAccess().getStatementAction_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3636:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3638:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getCompositeStatementAccess().getStatementAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__0__Impl


    // $ANTLR start rule__CompositeStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3648:1: rule__CompositeStatement__Group__1 : rule__CompositeStatement__Group__1__Impl rule__CompositeStatement__Group__2 ;
    public final void rule__CompositeStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3652:1: ( rule__CompositeStatement__Group__1__Impl rule__CompositeStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3653:2: rule__CompositeStatement__Group__1__Impl rule__CompositeStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__1__Impl_in_rule__CompositeStatement__Group__17714);
            rule__CompositeStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__2_in_rule__CompositeStatement__Group__17717);
            rule__CompositeStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__1


    // $ANTLR start rule__CompositeStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3660:1: rule__CompositeStatement__Group__1__Impl : ( '{' ) ;
    public final void rule__CompositeStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3664:1: ( ( '{' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3665:1: ( '{' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3665:1: ( '{' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3666:1: '{'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getCompositeStatementAccess().getLeftCurlyBracketKeyword_1()); 
            }
            match(input,54,FollowSets000.FOLLOW_54_in_rule__CompositeStatement__Group__1__Impl7745); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getCompositeStatementAccess().getLeftCurlyBracketKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__1__Impl


    // $ANTLR start rule__CompositeStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3679:1: rule__CompositeStatement__Group__2 : rule__CompositeStatement__Group__2__Impl rule__CompositeStatement__Group__3 ;
    public final void rule__CompositeStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3683:1: ( rule__CompositeStatement__Group__2__Impl rule__CompositeStatement__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3684:2: rule__CompositeStatement__Group__2__Impl rule__CompositeStatement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__2__Impl_in_rule__CompositeStatement__Group__27776);
            rule__CompositeStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__3_in_rule__CompositeStatement__Group__27779);
            rule__CompositeStatement__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__2


    // $ANTLR start rule__CompositeStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3691:1: rule__CompositeStatement__Group__2__Impl : ( ( rule__CompositeStatement__ChildrenAssignment_2 )* ) ;
    public final void rule__CompositeStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3695:1: ( ( ( rule__CompositeStatement__ChildrenAssignment_2 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3696:1: ( ( rule__CompositeStatement__ChildrenAssignment_2 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3696:1: ( ( rule__CompositeStatement__ChildrenAssignment_2 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3697:1: ( rule__CompositeStatement__ChildrenAssignment_2 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getCompositeStatementAccess().getChildrenAssignment_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3698:1: ( rule__CompositeStatement__ChildrenAssignment_2 )*
            loop37:
            do {
                int alt37=2;
                int LA37_0 = input.LA(1);

                if ( ((LA37_0>=RULE_ID && LA37_0<=RULE_INT)||(LA37_0>=12 && LA37_0<=13)||(LA37_0>=36 && LA37_0<=43)||LA37_0==45||LA37_0==48||LA37_0==54||(LA37_0>=56 && LA37_0<=58)||LA37_0==61||LA37_0==63||LA37_0==69||(LA37_0>=77 && LA37_0<=80)||LA37_0==82||(LA37_0>=84 && LA37_0<=88)) ) {
                    alt37=1;
                }


                switch (alt37) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3698:2: rule__CompositeStatement__ChildrenAssignment_2
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__ChildrenAssignment_2_in_rule__CompositeStatement__Group__2__Impl7806);
            	    rule__CompositeStatement__ChildrenAssignment_2();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop37;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getCompositeStatementAccess().getChildrenAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__2__Impl


    // $ANTLR start rule__CompositeStatement__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3708:1: rule__CompositeStatement__Group__3 : rule__CompositeStatement__Group__3__Impl ;
    public final void rule__CompositeStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3712:1: ( rule__CompositeStatement__Group__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3713:2: rule__CompositeStatement__Group__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__Group__3__Impl_in_rule__CompositeStatement__Group__37837);
            rule__CompositeStatement__Group__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__3


    // $ANTLR start rule__CompositeStatement__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3719:1: rule__CompositeStatement__Group__3__Impl : ( '}' ) ;
    public final void rule__CompositeStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3723:1: ( ( '}' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3724:1: ( '}' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3724:1: ( '}' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3725:1: '}'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getCompositeStatementAccess().getRightCurlyBracketKeyword_3()); 
            }
            match(input,55,FollowSets000.FOLLOW_55_in_rule__CompositeStatement__Group__3__Impl7865); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getCompositeStatementAccess().getRightCurlyBracketKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__Group__3__Impl


    // $ANTLR start rule__DeclarationStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3746:1: rule__DeclarationStatement__Group__0 : rule__DeclarationStatement__Group__0__Impl rule__DeclarationStatement__Group__1 ;
    public final void rule__DeclarationStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3750:1: ( rule__DeclarationStatement__Group__0__Impl rule__DeclarationStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3751:2: rule__DeclarationStatement__Group__0__Impl rule__DeclarationStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group__0__Impl_in_rule__DeclarationStatement__Group__07904);
            rule__DeclarationStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group__1_in_rule__DeclarationStatement__Group__07907);
            rule__DeclarationStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group__0


    // $ANTLR start rule__DeclarationStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3758:1: rule__DeclarationStatement__Group__0__Impl : ( 'var' ) ;
    public final void rule__DeclarationStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3762:1: ( ( 'var' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3763:1: ( 'var' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3763:1: ( 'var' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3764:1: 'var'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getVarKeyword_0()); 
            }
            match(input,56,FollowSets000.FOLLOW_56_in_rule__DeclarationStatement__Group__0__Impl7935); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getVarKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group__0__Impl


    // $ANTLR start rule__DeclarationStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3777:1: rule__DeclarationStatement__Group__1 : rule__DeclarationStatement__Group__1__Impl rule__DeclarationStatement__Group__2 ;
    public final void rule__DeclarationStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3781:1: ( rule__DeclarationStatement__Group__1__Impl rule__DeclarationStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3782:2: rule__DeclarationStatement__Group__1__Impl rule__DeclarationStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group__1__Impl_in_rule__DeclarationStatement__Group__17966);
            rule__DeclarationStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group__2_in_rule__DeclarationStatement__Group__17969);
            rule__DeclarationStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group__1


    // $ANTLR start rule__DeclarationStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3789:1: rule__DeclarationStatement__Group__1__Impl : ( ( rule__DeclarationStatement__ChildrenAssignment_1 ) ) ;
    public final void rule__DeclarationStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3793:1: ( ( ( rule__DeclarationStatement__ChildrenAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3794:1: ( ( rule__DeclarationStatement__ChildrenAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3794:1: ( ( rule__DeclarationStatement__ChildrenAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3795:1: ( rule__DeclarationStatement__ChildrenAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getChildrenAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3796:1: ( rule__DeclarationStatement__ChildrenAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3796:2: rule__DeclarationStatement__ChildrenAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__ChildrenAssignment_1_in_rule__DeclarationStatement__Group__1__Impl7996);
            rule__DeclarationStatement__ChildrenAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getChildrenAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group__1__Impl


    // $ANTLR start rule__DeclarationStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3806:1: rule__DeclarationStatement__Group__2 : rule__DeclarationStatement__Group__2__Impl ;
    public final void rule__DeclarationStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3810:1: ( rule__DeclarationStatement__Group__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3811:2: rule__DeclarationStatement__Group__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group__2__Impl_in_rule__DeclarationStatement__Group__28026);
            rule__DeclarationStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group__2


    // $ANTLR start rule__DeclarationStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3817:1: rule__DeclarationStatement__Group__2__Impl : ( ( rule__DeclarationStatement__Group_2__0 )* ) ;
    public final void rule__DeclarationStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3821:1: ( ( ( rule__DeclarationStatement__Group_2__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3822:1: ( ( rule__DeclarationStatement__Group_2__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3822:1: ( ( rule__DeclarationStatement__Group_2__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3823:1: ( rule__DeclarationStatement__Group_2__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getGroup_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3824:1: ( rule__DeclarationStatement__Group_2__0 )*
            loop38:
            do {
                int alt38=2;
                int LA38_0 = input.LA(1);

                if ( (LA38_0==51) ) {
                    int LA38_2 = input.LA(2);

                    if ( (LA38_2==RULE_ID) ) {
                        int LA38_3 = input.LA(3);

                        if ( (synpred74()) ) {
                            alt38=1;
                        }


                    }


                }


                switch (alt38) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3824:2: rule__DeclarationStatement__Group_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group_2__0_in_rule__DeclarationStatement__Group__2__Impl8053);
            	    rule__DeclarationStatement__Group_2__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop38;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group__2__Impl


    // $ANTLR start rule__DeclarationStatement__Group_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3840:1: rule__DeclarationStatement__Group_2__0 : rule__DeclarationStatement__Group_2__0__Impl rule__DeclarationStatement__Group_2__1 ;
    public final void rule__DeclarationStatement__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3844:1: ( rule__DeclarationStatement__Group_2__0__Impl rule__DeclarationStatement__Group_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3845:2: rule__DeclarationStatement__Group_2__0__Impl rule__DeclarationStatement__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group_2__0__Impl_in_rule__DeclarationStatement__Group_2__08090);
            rule__DeclarationStatement__Group_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group_2__1_in_rule__DeclarationStatement__Group_2__08093);
            rule__DeclarationStatement__Group_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group_2__0


    // $ANTLR start rule__DeclarationStatement__Group_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3852:1: rule__DeclarationStatement__Group_2__0__Impl : ( ',' ) ;
    public final void rule__DeclarationStatement__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3856:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3857:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3857:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3858:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getCommaKeyword_2_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__DeclarationStatement__Group_2__0__Impl8121); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getCommaKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group_2__0__Impl


    // $ANTLR start rule__DeclarationStatement__Group_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3871:1: rule__DeclarationStatement__Group_2__1 : rule__DeclarationStatement__Group_2__1__Impl ;
    public final void rule__DeclarationStatement__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3875:1: ( rule__DeclarationStatement__Group_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3876:2: rule__DeclarationStatement__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group_2__1__Impl_in_rule__DeclarationStatement__Group_2__18152);
            rule__DeclarationStatement__Group_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group_2__1


    // $ANTLR start rule__DeclarationStatement__Group_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3882:1: rule__DeclarationStatement__Group_2__1__Impl : ( ( rule__DeclarationStatement__ChildrenAssignment_2_1 ) ) ;
    public final void rule__DeclarationStatement__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3886:1: ( ( ( rule__DeclarationStatement__ChildrenAssignment_2_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3887:1: ( ( rule__DeclarationStatement__ChildrenAssignment_2_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3887:1: ( ( rule__DeclarationStatement__ChildrenAssignment_2_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3888:1: ( rule__DeclarationStatement__ChildrenAssignment_2_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getChildrenAssignment_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3889:1: ( rule__DeclarationStatement__ChildrenAssignment_2_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3889:2: rule__DeclarationStatement__ChildrenAssignment_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__ChildrenAssignment_2_1_in_rule__DeclarationStatement__Group_2__1__Impl8179);
            rule__DeclarationStatement__ChildrenAssignment_2_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getChildrenAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__Group_2__1__Impl


    // $ANTLR start rule__VarEntry__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3903:1: rule__VarEntry__Group__0 : rule__VarEntry__Group__0__Impl rule__VarEntry__Group__1 ;
    public final void rule__VarEntry__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3907:1: ( rule__VarEntry__Group__0__Impl rule__VarEntry__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3908:2: rule__VarEntry__Group__0__Impl rule__VarEntry__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group__0__Impl_in_rule__VarEntry__Group__08213);
            rule__VarEntry__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group__1_in_rule__VarEntry__Group__08216);
            rule__VarEntry__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group__0


    // $ANTLR start rule__VarEntry__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3915:1: rule__VarEntry__Group__0__Impl : ( ( rule__VarEntry__NameAssignment_0 ) ) ;
    public final void rule__VarEntry__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3919:1: ( ( ( rule__VarEntry__NameAssignment_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3920:1: ( ( rule__VarEntry__NameAssignment_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3920:1: ( ( rule__VarEntry__NameAssignment_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3921:1: ( rule__VarEntry__NameAssignment_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryAccess().getNameAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3922:1: ( rule__VarEntry__NameAssignment_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3922:2: rule__VarEntry__NameAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__NameAssignment_0_in_rule__VarEntry__Group__0__Impl8243);
            rule__VarEntry__NameAssignment_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryAccess().getNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group__0__Impl


    // $ANTLR start rule__VarEntry__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3932:1: rule__VarEntry__Group__1 : rule__VarEntry__Group__1__Impl ;
    public final void rule__VarEntry__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3936:1: ( rule__VarEntry__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3937:2: rule__VarEntry__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group__1__Impl_in_rule__VarEntry__Group__18273);
            rule__VarEntry__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group__1


    // $ANTLR start rule__VarEntry__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3943:1: rule__VarEntry__Group__1__Impl : ( ( rule__VarEntry__Group_1__0 )? ) ;
    public final void rule__VarEntry__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3947:1: ( ( ( rule__VarEntry__Group_1__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3948:1: ( ( rule__VarEntry__Group_1__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3948:1: ( ( rule__VarEntry__Group_1__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3949:1: ( rule__VarEntry__Group_1__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryAccess().getGroup_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3950:1: ( rule__VarEntry__Group_1__0 )?
            int alt39=2;
            int LA39_0 = input.LA(1);

            if ( (LA39_0==53) ) {
                alt39=1;
            }
            switch (alt39) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3950:2: rule__VarEntry__Group_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group_1__0_in_rule__VarEntry__Group__1__Impl8300);
                    rule__VarEntry__Group_1__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group__1__Impl


    // $ANTLR start rule__VarEntry__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3964:1: rule__VarEntry__Group_1__0 : rule__VarEntry__Group_1__0__Impl rule__VarEntry__Group_1__1 ;
    public final void rule__VarEntry__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3968:1: ( rule__VarEntry__Group_1__0__Impl rule__VarEntry__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3969:2: rule__VarEntry__Group_1__0__Impl rule__VarEntry__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group_1__0__Impl_in_rule__VarEntry__Group_1__08335);
            rule__VarEntry__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group_1__1_in_rule__VarEntry__Group_1__08338);
            rule__VarEntry__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group_1__0


    // $ANTLR start rule__VarEntry__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3976:1: rule__VarEntry__Group_1__0__Impl : ( '=' ) ;
    public final void rule__VarEntry__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3980:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3981:1: ( '=' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3981:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3982:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryAccess().getEqualsSignKeyword_1_0()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__VarEntry__Group_1__0__Impl8366); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryAccess().getEqualsSignKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group_1__0__Impl


    // $ANTLR start rule__VarEntry__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3995:1: rule__VarEntry__Group_1__1 : rule__VarEntry__Group_1__1__Impl ;
    public final void rule__VarEntry__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3999:1: ( rule__VarEntry__Group_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4000:2: rule__VarEntry__Group_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__Group_1__1__Impl_in_rule__VarEntry__Group_1__18397);
            rule__VarEntry__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group_1__1


    // $ANTLR start rule__VarEntry__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4006:1: rule__VarEntry__Group_1__1__Impl : ( ( rule__VarEntry__ChildrenAssignment_1_1 ) ) ;
    public final void rule__VarEntry__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4010:1: ( ( ( rule__VarEntry__ChildrenAssignment_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4011:1: ( ( rule__VarEntry__ChildrenAssignment_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4011:1: ( ( rule__VarEntry__ChildrenAssignment_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4012:1: ( rule__VarEntry__ChildrenAssignment_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryAccess().getChildrenAssignment_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4013:1: ( rule__VarEntry__ChildrenAssignment_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4013:2: rule__VarEntry__ChildrenAssignment_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__VarEntry__ChildrenAssignment_1_1_in_rule__VarEntry__Group_1__1__Impl8424);
            rule__VarEntry__ChildrenAssignment_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryAccess().getChildrenAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__Group_1__1__Impl


    // $ANTLR start rule__LocateStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4027:1: rule__LocateStatement__Group__0 : rule__LocateStatement__Group__0__Impl rule__LocateStatement__Group__1 ;
    public final void rule__LocateStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4031:1: ( rule__LocateStatement__Group__0__Impl rule__LocateStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4032:2: rule__LocateStatement__Group__0__Impl rule__LocateStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__0__Impl_in_rule__LocateStatement__Group__08458);
            rule__LocateStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__1_in_rule__LocateStatement__Group__08461);
            rule__LocateStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__0


    // $ANTLR start rule__LocateStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4039:1: rule__LocateStatement__Group__0__Impl : ( ( rule__LocateStatement__OptionalAssignment_0 )? ) ;
    public final void rule__LocateStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4043:1: ( ( ( rule__LocateStatement__OptionalAssignment_0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4044:1: ( ( rule__LocateStatement__OptionalAssignment_0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4044:1: ( ( rule__LocateStatement__OptionalAssignment_0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4045:1: ( rule__LocateStatement__OptionalAssignment_0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getOptionalAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4046:1: ( rule__LocateStatement__OptionalAssignment_0 )?
            int alt40=2;
            int LA40_0 = input.LA(1);

            if ( (LA40_0==78) ) {
                alt40=1;
            }
            switch (alt40) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4046:2: rule__LocateStatement__OptionalAssignment_0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__OptionalAssignment_0_in_rule__LocateStatement__Group__0__Impl8488);
                    rule__LocateStatement__OptionalAssignment_0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getOptionalAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__0__Impl


    // $ANTLR start rule__LocateStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4056:1: rule__LocateStatement__Group__1 : rule__LocateStatement__Group__1__Impl rule__LocateStatement__Group__2 ;
    public final void rule__LocateStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4060:1: ( rule__LocateStatement__Group__1__Impl rule__LocateStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4061:2: rule__LocateStatement__Group__1__Impl rule__LocateStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__1__Impl_in_rule__LocateStatement__Group__18519);
            rule__LocateStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__2_in_rule__LocateStatement__Group__18522);
            rule__LocateStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__1


    // $ANTLR start rule__LocateStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4068:1: rule__LocateStatement__Group__1__Impl : ( 'locate' ) ;
    public final void rule__LocateStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4072:1: ( ( 'locate' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4073:1: ( 'locate' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4073:1: ( 'locate' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4074:1: 'locate'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getLocateKeyword_1()); 
            }
            match(input,57,FollowSets000.FOLLOW_57_in_rule__LocateStatement__Group__1__Impl8550); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getLocateKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__1__Impl


    // $ANTLR start rule__LocateStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4087:1: rule__LocateStatement__Group__2 : rule__LocateStatement__Group__2__Impl rule__LocateStatement__Group__3 ;
    public final void rule__LocateStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4091:1: ( rule__LocateStatement__Group__2__Impl rule__LocateStatement__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4092:2: rule__LocateStatement__Group__2__Impl rule__LocateStatement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__2__Impl_in_rule__LocateStatement__Group__28581);
            rule__LocateStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__3_in_rule__LocateStatement__Group__28584);
            rule__LocateStatement__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__2


    // $ANTLR start rule__LocateStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4099:1: rule__LocateStatement__Group__2__Impl : ( ( rule__LocateStatement__ChildrenAssignment_2 ) ) ;
    public final void rule__LocateStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4103:1: ( ( ( rule__LocateStatement__ChildrenAssignment_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4104:1: ( ( rule__LocateStatement__ChildrenAssignment_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4104:1: ( ( rule__LocateStatement__ChildrenAssignment_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4105:1: ( rule__LocateStatement__ChildrenAssignment_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getChildrenAssignment_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4106:1: ( rule__LocateStatement__ChildrenAssignment_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4106:2: rule__LocateStatement__ChildrenAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__ChildrenAssignment_2_in_rule__LocateStatement__Group__2__Impl8611);
            rule__LocateStatement__ChildrenAssignment_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getChildrenAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__2__Impl


    // $ANTLR start rule__LocateStatement__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4116:1: rule__LocateStatement__Group__3 : rule__LocateStatement__Group__3__Impl ;
    public final void rule__LocateStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4120:1: ( rule__LocateStatement__Group__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4121:2: rule__LocateStatement__Group__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group__3__Impl_in_rule__LocateStatement__Group__38641);
            rule__LocateStatement__Group__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__3


    // $ANTLR start rule__LocateStatement__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4127:1: rule__LocateStatement__Group__3__Impl : ( ( rule__LocateStatement__UnorderedGroup_3 ) ) ;
    public final void rule__LocateStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4131:1: ( ( ( rule__LocateStatement__UnorderedGroup_3 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4132:1: ( ( rule__LocateStatement__UnorderedGroup_3 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4132:1: ( ( rule__LocateStatement__UnorderedGroup_3 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4133:1: ( rule__LocateStatement__UnorderedGroup_3 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4134:1: ( rule__LocateStatement__UnorderedGroup_3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4134:2: rule__LocateStatement__UnorderedGroup_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3_in_rule__LocateStatement__Group__3__Impl8668);
            rule__LocateStatement__UnorderedGroup_3();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group__3__Impl


    // $ANTLR start rule__LocateStatement__Group_3_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4152:1: rule__LocateStatement__Group_3_0__0 : rule__LocateStatement__Group_3_0__0__Impl rule__LocateStatement__Group_3_0__1 ;
    public final void rule__LocateStatement__Group_3_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4156:1: ( rule__LocateStatement__Group_3_0__0__Impl rule__LocateStatement__Group_3_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4157:2: rule__LocateStatement__Group_3_0__0__Impl rule__LocateStatement__Group_3_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_0__0__Impl_in_rule__LocateStatement__Group_3_0__08706);
            rule__LocateStatement__Group_3_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_0__1_in_rule__LocateStatement__Group_3_0__08709);
            rule__LocateStatement__Group_3_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_0__0


    // $ANTLR start rule__LocateStatement__Group_3_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4164:1: rule__LocateStatement__Group_3_0__0__Impl : ( 'for' ) ;
    public final void rule__LocateStatement__Group_3_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4168:1: ( ( 'for' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4169:1: ( 'for' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4169:1: ( 'for' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4170:1: 'for'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getForKeyword_3_0_0()); 
            }
            match(input,58,FollowSets000.FOLLOW_58_in_rule__LocateStatement__Group_3_0__0__Impl8737); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getForKeyword_3_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_0__0__Impl


    // $ANTLR start rule__LocateStatement__Group_3_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4183:1: rule__LocateStatement__Group_3_0__1 : rule__LocateStatement__Group_3_0__1__Impl ;
    public final void rule__LocateStatement__Group_3_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4187:1: ( rule__LocateStatement__Group_3_0__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4188:2: rule__LocateStatement__Group_3_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_0__1__Impl_in_rule__LocateStatement__Group_3_0__18768);
            rule__LocateStatement__Group_3_0__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_0__1


    // $ANTLR start rule__LocateStatement__Group_3_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4194:1: rule__LocateStatement__Group_3_0__1__Impl : ( ( rule__LocateStatement__PositionAssignment_3_0_1 ) ) ;
    public final void rule__LocateStatement__Group_3_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4198:1: ( ( ( rule__LocateStatement__PositionAssignment_3_0_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4199:1: ( ( rule__LocateStatement__PositionAssignment_3_0_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4199:1: ( ( rule__LocateStatement__PositionAssignment_3_0_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4200:1: ( rule__LocateStatement__PositionAssignment_3_0_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getPositionAssignment_3_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4201:1: ( rule__LocateStatement__PositionAssignment_3_0_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4201:2: rule__LocateStatement__PositionAssignment_3_0_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__PositionAssignment_3_0_1_in_rule__LocateStatement__Group_3_0__1__Impl8795);
            rule__LocateStatement__PositionAssignment_3_0_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getPositionAssignment_3_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_0__1__Impl


    // $ANTLR start rule__LocateStatement__Group_3_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4215:1: rule__LocateStatement__Group_3_1__0 : rule__LocateStatement__Group_3_1__0__Impl rule__LocateStatement__Group_3_1__1 ;
    public final void rule__LocateStatement__Group_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4219:1: ( rule__LocateStatement__Group_3_1__0__Impl rule__LocateStatement__Group_3_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4220:2: rule__LocateStatement__Group_3_1__0__Impl rule__LocateStatement__Group_3_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_1__0__Impl_in_rule__LocateStatement__Group_3_1__08829);
            rule__LocateStatement__Group_3_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_1__1_in_rule__LocateStatement__Group_3_1__08832);
            rule__LocateStatement__Group_3_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_1__0


    // $ANTLR start rule__LocateStatement__Group_3_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4227:1: rule__LocateStatement__Group_3_1__0__Impl : ( 'option' ) ;
    public final void rule__LocateStatement__Group_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4231:1: ( ( 'option' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4232:1: ( 'option' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4232:1: ( 'option' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4233:1: 'option'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getOptionKeyword_3_1_0()); 
            }
            match(input,59,FollowSets000.FOLLOW_59_in_rule__LocateStatement__Group_3_1__0__Impl8860); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getOptionKeyword_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_1__0__Impl


    // $ANTLR start rule__LocateStatement__Group_3_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4246:1: rule__LocateStatement__Group_3_1__1 : rule__LocateStatement__Group_3_1__1__Impl rule__LocateStatement__Group_3_1__2 ;
    public final void rule__LocateStatement__Group_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4250:1: ( rule__LocateStatement__Group_3_1__1__Impl rule__LocateStatement__Group_3_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4251:2: rule__LocateStatement__Group_3_1__1__Impl rule__LocateStatement__Group_3_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_1__1__Impl_in_rule__LocateStatement__Group_3_1__18891);
            rule__LocateStatement__Group_3_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_1__2_in_rule__LocateStatement__Group_3_1__18894);
            rule__LocateStatement__Group_3_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_1__1


    // $ANTLR start rule__LocateStatement__Group_3_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4258:1: rule__LocateStatement__Group_3_1__1__Impl : ( '=' ) ;
    public final void rule__LocateStatement__Group_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4262:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4263:1: ( '=' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4263:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4264:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getEqualsSignKeyword_3_1_1()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__LocateStatement__Group_3_1__1__Impl8922); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getEqualsSignKeyword_3_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_1__1__Impl


    // $ANTLR start rule__LocateStatement__Group_3_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4277:1: rule__LocateStatement__Group_3_1__2 : rule__LocateStatement__Group_3_1__2__Impl ;
    public final void rule__LocateStatement__Group_3_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4281:1: ( rule__LocateStatement__Group_3_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4282:2: rule__LocateStatement__Group_3_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_1__2__Impl_in_rule__LocateStatement__Group_3_1__28953);
            rule__LocateStatement__Group_3_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_1__2


    // $ANTLR start rule__LocateStatement__Group_3_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4288:1: rule__LocateStatement__Group_3_1__2__Impl : ( ( rule__LocateStatement__FlagAssignment_3_1_2 ) ) ;
    public final void rule__LocateStatement__Group_3_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4292:1: ( ( ( rule__LocateStatement__FlagAssignment_3_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4293:1: ( ( rule__LocateStatement__FlagAssignment_3_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4293:1: ( ( rule__LocateStatement__FlagAssignment_3_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4294:1: ( rule__LocateStatement__FlagAssignment_3_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getFlagAssignment_3_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4295:1: ( rule__LocateStatement__FlagAssignment_3_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4295:2: rule__LocateStatement__FlagAssignment_3_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__FlagAssignment_3_1_2_in_rule__LocateStatement__Group_3_1__2__Impl8980);
            rule__LocateStatement__FlagAssignment_3_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getFlagAssignment_3_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_1__2__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4311:1: rule__LocateStatement__Group_3_2__0 : rule__LocateStatement__Group_3_2__0__Impl rule__LocateStatement__Group_3_2__1 ;
    public final void rule__LocateStatement__Group_3_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4315:1: ( rule__LocateStatement__Group_3_2__0__Impl rule__LocateStatement__Group_3_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4316:2: rule__LocateStatement__Group_3_2__0__Impl rule__LocateStatement__Group_3_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__0__Impl_in_rule__LocateStatement__Group_3_2__09016);
            rule__LocateStatement__Group_3_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__1_in_rule__LocateStatement__Group_3_2__09019);
            rule__LocateStatement__Group_3_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__0


    // $ANTLR start rule__LocateStatement__Group_3_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4323:1: rule__LocateStatement__Group_3_2__0__Impl : ( 'using' ) ;
    public final void rule__LocateStatement__Group_3_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4327:1: ( ( 'using' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4328:1: ( 'using' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4328:1: ( 'using' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4329:1: 'using'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getUsingKeyword_3_2_0()); 
            }
            match(input,60,FollowSets000.FOLLOW_60_in_rule__LocateStatement__Group_3_2__0__Impl9047); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getUsingKeyword_3_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__0__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4342:1: rule__LocateStatement__Group_3_2__1 : rule__LocateStatement__Group_3_2__1__Impl rule__LocateStatement__Group_3_2__2 ;
    public final void rule__LocateStatement__Group_3_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4346:1: ( rule__LocateStatement__Group_3_2__1__Impl rule__LocateStatement__Group_3_2__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4347:2: rule__LocateStatement__Group_3_2__1__Impl rule__LocateStatement__Group_3_2__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__1__Impl_in_rule__LocateStatement__Group_3_2__19078);
            rule__LocateStatement__Group_3_2__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__2_in_rule__LocateStatement__Group_3_2__19081);
            rule__LocateStatement__Group_3_2__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__1


    // $ANTLR start rule__LocateStatement__Group_3_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4354:1: rule__LocateStatement__Group_3_2__1__Impl : ( ( rule__LocateStatement__LocatorAssignment_3_2_1 ) ) ;
    public final void rule__LocateStatement__Group_3_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4358:1: ( ( ( rule__LocateStatement__LocatorAssignment_3_2_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4359:1: ( ( rule__LocateStatement__LocatorAssignment_3_2_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4359:1: ( ( rule__LocateStatement__LocatorAssignment_3_2_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4360:1: ( rule__LocateStatement__LocatorAssignment_3_2_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getLocatorAssignment_3_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4361:1: ( rule__LocateStatement__LocatorAssignment_3_2_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4361:2: rule__LocateStatement__LocatorAssignment_3_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__LocatorAssignment_3_2_1_in_rule__LocateStatement__Group_3_2__1__Impl9108);
            rule__LocateStatement__LocatorAssignment_3_2_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getLocatorAssignment_3_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__1__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4371:1: rule__LocateStatement__Group_3_2__2 : rule__LocateStatement__Group_3_2__2__Impl rule__LocateStatement__Group_3_2__3 ;
    public final void rule__LocateStatement__Group_3_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4375:1: ( rule__LocateStatement__Group_3_2__2__Impl rule__LocateStatement__Group_3_2__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4376:2: rule__LocateStatement__Group_3_2__2__Impl rule__LocateStatement__Group_3_2__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__2__Impl_in_rule__LocateStatement__Group_3_2__29138);
            rule__LocateStatement__Group_3_2__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__3_in_rule__LocateStatement__Group_3_2__29141);
            rule__LocateStatement__Group_3_2__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__2


    // $ANTLR start rule__LocateStatement__Group_3_2__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4383:1: rule__LocateStatement__Group_3_2__2__Impl : ( '(' ) ;
    public final void rule__LocateStatement__Group_3_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4387:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4388:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4388:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4389:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getLeftParenthesisKeyword_3_2_2()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__LocateStatement__Group_3_2__2__Impl9169); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getLeftParenthesisKeyword_3_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__2__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4402:1: rule__LocateStatement__Group_3_2__3 : rule__LocateStatement__Group_3_2__3__Impl rule__LocateStatement__Group_3_2__4 ;
    public final void rule__LocateStatement__Group_3_2__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4406:1: ( rule__LocateStatement__Group_3_2__3__Impl rule__LocateStatement__Group_3_2__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4407:2: rule__LocateStatement__Group_3_2__3__Impl rule__LocateStatement__Group_3_2__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__3__Impl_in_rule__LocateStatement__Group_3_2__39200);
            rule__LocateStatement__Group_3_2__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__4_in_rule__LocateStatement__Group_3_2__39203);
            rule__LocateStatement__Group_3_2__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__3


    // $ANTLR start rule__LocateStatement__Group_3_2__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4414:1: rule__LocateStatement__Group_3_2__3__Impl : ( ( rule__LocateStatement__Group_3_2_3__0 )? ) ;
    public final void rule__LocateStatement__Group_3_2__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4418:1: ( ( ( rule__LocateStatement__Group_3_2_3__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4419:1: ( ( rule__LocateStatement__Group_3_2_3__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4419:1: ( ( rule__LocateStatement__Group_3_2_3__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4420:1: ( rule__LocateStatement__Group_3_2_3__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getGroup_3_2_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4421:1: ( rule__LocateStatement__Group_3_2_3__0 )?
            int alt41=2;
            int LA41_0 = input.LA(1);

            if ( ((LA41_0>=RULE_ID && LA41_0<=RULE_INT)||(LA41_0>=36 && LA41_0<=43)||LA41_0==48||LA41_0==54||LA41_0==61||LA41_0==67||LA41_0==69||LA41_0==82||(LA41_0>=84 && LA41_0<=88)) ) {
                alt41=1;
            }
            switch (alt41) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4421:2: rule__LocateStatement__Group_3_2_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3__0_in_rule__LocateStatement__Group_3_2__3__Impl9230);
                    rule__LocateStatement__Group_3_2_3__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getGroup_3_2_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__3__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4431:1: rule__LocateStatement__Group_3_2__4 : rule__LocateStatement__Group_3_2__4__Impl ;
    public final void rule__LocateStatement__Group_3_2__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4435:1: ( rule__LocateStatement__Group_3_2__4__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4436:2: rule__LocateStatement__Group_3_2__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__4__Impl_in_rule__LocateStatement__Group_3_2__49261);
            rule__LocateStatement__Group_3_2__4__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__4


    // $ANTLR start rule__LocateStatement__Group_3_2__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4442:1: rule__LocateStatement__Group_3_2__4__Impl : ( ')' ) ;
    public final void rule__LocateStatement__Group_3_2__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4446:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4447:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4447:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4448:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getRightParenthesisKeyword_3_2_4()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__LocateStatement__Group_3_2__4__Impl9289); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getRightParenthesisKeyword_3_2_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2__4__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2_3__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4471:1: rule__LocateStatement__Group_3_2_3__0 : rule__LocateStatement__Group_3_2_3__0__Impl rule__LocateStatement__Group_3_2_3__1 ;
    public final void rule__LocateStatement__Group_3_2_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4475:1: ( rule__LocateStatement__Group_3_2_3__0__Impl rule__LocateStatement__Group_3_2_3__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4476:2: rule__LocateStatement__Group_3_2_3__0__Impl rule__LocateStatement__Group_3_2_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3__0__Impl_in_rule__LocateStatement__Group_3_2_3__09330);
            rule__LocateStatement__Group_3_2_3__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3__1_in_rule__LocateStatement__Group_3_2_3__09333);
            rule__LocateStatement__Group_3_2_3__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3__0


    // $ANTLR start rule__LocateStatement__Group_3_2_3__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4483:1: rule__LocateStatement__Group_3_2_3__0__Impl : ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_0 ) ) ;
    public final void rule__LocateStatement__Group_3_2_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4487:1: ( ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4488:1: ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4488:1: ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4489:1: ( rule__LocateStatement__ChildrenAssignment_3_2_3_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getChildrenAssignment_3_2_3_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4490:1: ( rule__LocateStatement__ChildrenAssignment_3_2_3_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4490:2: rule__LocateStatement__ChildrenAssignment_3_2_3_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__ChildrenAssignment_3_2_3_0_in_rule__LocateStatement__Group_3_2_3__0__Impl9360);
            rule__LocateStatement__ChildrenAssignment_3_2_3_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getChildrenAssignment_3_2_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3__0__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2_3__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4500:1: rule__LocateStatement__Group_3_2_3__1 : rule__LocateStatement__Group_3_2_3__1__Impl ;
    public final void rule__LocateStatement__Group_3_2_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4504:1: ( rule__LocateStatement__Group_3_2_3__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4505:2: rule__LocateStatement__Group_3_2_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3__1__Impl_in_rule__LocateStatement__Group_3_2_3__19390);
            rule__LocateStatement__Group_3_2_3__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3__1


    // $ANTLR start rule__LocateStatement__Group_3_2_3__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4511:1: rule__LocateStatement__Group_3_2_3__1__Impl : ( ( rule__LocateStatement__Group_3_2_3_1__0 )* ) ;
    public final void rule__LocateStatement__Group_3_2_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4515:1: ( ( ( rule__LocateStatement__Group_3_2_3_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4516:1: ( ( rule__LocateStatement__Group_3_2_3_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4516:1: ( ( rule__LocateStatement__Group_3_2_3_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4517:1: ( rule__LocateStatement__Group_3_2_3_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getGroup_3_2_3_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4518:1: ( rule__LocateStatement__Group_3_2_3_1__0 )*
            loop42:
            do {
                int alt42=2;
                int LA42_0 = input.LA(1);

                if ( (LA42_0==51) ) {
                    alt42=1;
                }


                switch (alt42) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4518:2: rule__LocateStatement__Group_3_2_3_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3_1__0_in_rule__LocateStatement__Group_3_2_3__1__Impl9417);
            	    rule__LocateStatement__Group_3_2_3_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop42;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getGroup_3_2_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3__1__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2_3_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4532:1: rule__LocateStatement__Group_3_2_3_1__0 : rule__LocateStatement__Group_3_2_3_1__0__Impl rule__LocateStatement__Group_3_2_3_1__1 ;
    public final void rule__LocateStatement__Group_3_2_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4536:1: ( rule__LocateStatement__Group_3_2_3_1__0__Impl rule__LocateStatement__Group_3_2_3_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4537:2: rule__LocateStatement__Group_3_2_3_1__0__Impl rule__LocateStatement__Group_3_2_3_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3_1__0__Impl_in_rule__LocateStatement__Group_3_2_3_1__09452);
            rule__LocateStatement__Group_3_2_3_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3_1__1_in_rule__LocateStatement__Group_3_2_3_1__09455);
            rule__LocateStatement__Group_3_2_3_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3_1__0


    // $ANTLR start rule__LocateStatement__Group_3_2_3_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4544:1: rule__LocateStatement__Group_3_2_3_1__0__Impl : ( ',' ) ;
    public final void rule__LocateStatement__Group_3_2_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4548:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4549:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4549:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4550:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getCommaKeyword_3_2_3_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__LocateStatement__Group_3_2_3_1__0__Impl9483); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getCommaKeyword_3_2_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3_1__0__Impl


    // $ANTLR start rule__LocateStatement__Group_3_2_3_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4563:1: rule__LocateStatement__Group_3_2_3_1__1 : rule__LocateStatement__Group_3_2_3_1__1__Impl ;
    public final void rule__LocateStatement__Group_3_2_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4567:1: ( rule__LocateStatement__Group_3_2_3_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4568:2: rule__LocateStatement__Group_3_2_3_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2_3_1__1__Impl_in_rule__LocateStatement__Group_3_2_3_1__19514);
            rule__LocateStatement__Group_3_2_3_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3_1__1


    // $ANTLR start rule__LocateStatement__Group_3_2_3_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4574:1: rule__LocateStatement__Group_3_2_3_1__1__Impl : ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_1_1 ) ) ;
    public final void rule__LocateStatement__Group_3_2_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4578:1: ( ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4579:1: ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4579:1: ( ( rule__LocateStatement__ChildrenAssignment_3_2_3_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4580:1: ( rule__LocateStatement__ChildrenAssignment_3_2_3_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getChildrenAssignment_3_2_3_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4581:1: ( rule__LocateStatement__ChildrenAssignment_3_2_3_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4581:2: rule__LocateStatement__ChildrenAssignment_3_2_3_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__ChildrenAssignment_3_2_3_1_1_in_rule__LocateStatement__Group_3_2_3_1__1__Impl9541);
            rule__LocateStatement__ChildrenAssignment_3_2_3_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getChildrenAssignment_3_2_3_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__Group_3_2_3_1__1__Impl


    // $ANTLR start rule__MatchStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4595:1: rule__MatchStatement__Group__0 : rule__MatchStatement__Group__0__Impl rule__MatchStatement__Group__1 ;
    public final void rule__MatchStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4599:1: ( rule__MatchStatement__Group__0__Impl rule__MatchStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4600:2: rule__MatchStatement__Group__0__Impl rule__MatchStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__0__Impl_in_rule__MatchStatement__Group__09575);
            rule__MatchStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__1_in_rule__MatchStatement__Group__09578);
            rule__MatchStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__0


    // $ANTLR start rule__MatchStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4607:1: rule__MatchStatement__Group__0__Impl : ( 'match' ) ;
    public final void rule__MatchStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4611:1: ( ( 'match' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4612:1: ( 'match' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4612:1: ( 'match' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4613:1: 'match'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getMatchKeyword_0()); 
            }
            match(input,61,FollowSets000.FOLLOW_61_in_rule__MatchStatement__Group__0__Impl9606); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getMatchKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__0__Impl


    // $ANTLR start rule__MatchStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4626:1: rule__MatchStatement__Group__1 : rule__MatchStatement__Group__1__Impl rule__MatchStatement__Group__2 ;
    public final void rule__MatchStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4630:1: ( rule__MatchStatement__Group__1__Impl rule__MatchStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4631:2: rule__MatchStatement__Group__1__Impl rule__MatchStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__1__Impl_in_rule__MatchStatement__Group__19637);
            rule__MatchStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__2_in_rule__MatchStatement__Group__19640);
            rule__MatchStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__1


    // $ANTLR start rule__MatchStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4638:1: rule__MatchStatement__Group__1__Impl : ( ( rule__MatchStatement__PatternAssignment_1 ) ) ;
    public final void rule__MatchStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4642:1: ( ( ( rule__MatchStatement__PatternAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4643:1: ( ( rule__MatchStatement__PatternAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4643:1: ( ( rule__MatchStatement__PatternAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4644:1: ( rule__MatchStatement__PatternAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getPatternAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4645:1: ( rule__MatchStatement__PatternAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4645:2: rule__MatchStatement__PatternAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__PatternAssignment_1_in_rule__MatchStatement__Group__1__Impl9667);
            rule__MatchStatement__PatternAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getPatternAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__1__Impl


    // $ANTLR start rule__MatchStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4655:1: rule__MatchStatement__Group__2 : rule__MatchStatement__Group__2__Impl rule__MatchStatement__Group__3 ;
    public final void rule__MatchStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4659:1: ( rule__MatchStatement__Group__2__Impl rule__MatchStatement__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4660:2: rule__MatchStatement__Group__2__Impl rule__MatchStatement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__2__Impl_in_rule__MatchStatement__Group__29697);
            rule__MatchStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__3_in_rule__MatchStatement__Group__29700);
            rule__MatchStatement__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__2


    // $ANTLR start rule__MatchStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4667:1: rule__MatchStatement__Group__2__Impl : ( ( rule__MatchStatement__Group_2__0 )? ) ;
    public final void rule__MatchStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4671:1: ( ( ( rule__MatchStatement__Group_2__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4672:1: ( ( rule__MatchStatement__Group_2__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4672:1: ( ( rule__MatchStatement__Group_2__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4673:1: ( rule__MatchStatement__Group_2__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getGroup_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4674:1: ( rule__MatchStatement__Group_2__0 )?
            int alt43=2;
            int LA43_0 = input.LA(1);

            if ( (LA43_0==41) ) {
                int LA43_1 = input.LA(2);

                if ( (LA43_1==48) ) {
                    int LA43_6 = input.LA(3);

                    if ( (synpred79()) ) {
                        alt43=1;
                    }
                }
                else if ( ((LA43_1>=RULE_ID && LA43_1<=RULE_INT)||(LA43_1>=36 && LA43_1<=43)||LA43_1==54||LA43_1==61||LA43_1==67||LA43_1==69||LA43_1==82||(LA43_1>=84 && LA43_1<=88)) ) {
                    alt43=1;
                }
            }
            switch (alt43) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4674:2: rule__MatchStatement__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2__0_in_rule__MatchStatement__Group__2__Impl9727);
                    rule__MatchStatement__Group_2__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__2__Impl


    // $ANTLR start rule__MatchStatement__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4684:1: rule__MatchStatement__Group__3 : rule__MatchStatement__Group__3__Impl ;
    public final void rule__MatchStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4688:1: ( rule__MatchStatement__Group__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4689:2: rule__MatchStatement__Group__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group__3__Impl_in_rule__MatchStatement__Group__39758);
            rule__MatchStatement__Group__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__3


    // $ANTLR start rule__MatchStatement__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4695:1: rule__MatchStatement__Group__3__Impl : ( ( rule__MatchStatement__Group_3__0 )? ) ;
    public final void rule__MatchStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4699:1: ( ( ( rule__MatchStatement__Group_3__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4700:1: ( ( rule__MatchStatement__Group_3__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4700:1: ( ( rule__MatchStatement__Group_3__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4701:1: ( rule__MatchStatement__Group_3__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getGroup_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4702:1: ( rule__MatchStatement__Group_3__0 )?
            int alt44=2;
            int LA44_0 = input.LA(1);

            if ( (LA44_0==62) ) {
                int LA44_1 = input.LA(2);

                if ( (synpred80()) ) {
                    alt44=1;
                }
            }
            switch (alt44) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4702:2: rule__MatchStatement__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3__0_in_rule__MatchStatement__Group__3__Impl9785);
                    rule__MatchStatement__Group_3__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group__3__Impl


    // $ANTLR start rule__MatchStatement__Group_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4720:1: rule__MatchStatement__Group_2__0 : rule__MatchStatement__Group_2__0__Impl rule__MatchStatement__Group_2__1 ;
    public final void rule__MatchStatement__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4724:1: ( rule__MatchStatement__Group_2__0__Impl rule__MatchStatement__Group_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4725:2: rule__MatchStatement__Group_2__0__Impl rule__MatchStatement__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2__0__Impl_in_rule__MatchStatement__Group_2__09824);
            rule__MatchStatement__Group_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2__1_in_rule__MatchStatement__Group_2__09827);
            rule__MatchStatement__Group_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2__0


    // $ANTLR start rule__MatchStatement__Group_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4732:1: rule__MatchStatement__Group_2__0__Impl : ( 'arguments' ) ;
    public final void rule__MatchStatement__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4736:1: ( ( 'arguments' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4737:1: ( 'arguments' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4737:1: ( 'arguments' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4738:1: 'arguments'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getArgumentsKeyword_2_0()); 
            }
            match(input,41,FollowSets000.FOLLOW_41_in_rule__MatchStatement__Group_2__0__Impl9855); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getArgumentsKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2__0__Impl


    // $ANTLR start rule__MatchStatement__Group_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4751:1: rule__MatchStatement__Group_2__1 : rule__MatchStatement__Group_2__1__Impl rule__MatchStatement__Group_2__2 ;
    public final void rule__MatchStatement__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4755:1: ( rule__MatchStatement__Group_2__1__Impl rule__MatchStatement__Group_2__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4756:2: rule__MatchStatement__Group_2__1__Impl rule__MatchStatement__Group_2__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2__1__Impl_in_rule__MatchStatement__Group_2__19886);
            rule__MatchStatement__Group_2__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2__2_in_rule__MatchStatement__Group_2__19889);
            rule__MatchStatement__Group_2__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2__1


    // $ANTLR start rule__MatchStatement__Group_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4763:1: rule__MatchStatement__Group_2__1__Impl : ( ( rule__MatchStatement__ChildrenAssignment_2_1 ) ) ;
    public final void rule__MatchStatement__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4767:1: ( ( ( rule__MatchStatement__ChildrenAssignment_2_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4768:1: ( ( rule__MatchStatement__ChildrenAssignment_2_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4768:1: ( ( rule__MatchStatement__ChildrenAssignment_2_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4769:1: ( rule__MatchStatement__ChildrenAssignment_2_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenAssignment_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4770:1: ( rule__MatchStatement__ChildrenAssignment_2_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4770:2: rule__MatchStatement__ChildrenAssignment_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__ChildrenAssignment_2_1_in_rule__MatchStatement__Group_2__1__Impl9916);
            rule__MatchStatement__ChildrenAssignment_2_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2__1__Impl


    // $ANTLR start rule__MatchStatement__Group_2__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4780:1: rule__MatchStatement__Group_2__2 : rule__MatchStatement__Group_2__2__Impl ;
    public final void rule__MatchStatement__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4784:1: ( rule__MatchStatement__Group_2__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4785:2: rule__MatchStatement__Group_2__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2__2__Impl_in_rule__MatchStatement__Group_2__29946);
            rule__MatchStatement__Group_2__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2__2


    // $ANTLR start rule__MatchStatement__Group_2__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4791:1: rule__MatchStatement__Group_2__2__Impl : ( ( rule__MatchStatement__Group_2_2__0 )* ) ;
    public final void rule__MatchStatement__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4795:1: ( ( ( rule__MatchStatement__Group_2_2__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4796:1: ( ( rule__MatchStatement__Group_2_2__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4796:1: ( ( rule__MatchStatement__Group_2_2__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4797:1: ( rule__MatchStatement__Group_2_2__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getGroup_2_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4798:1: ( rule__MatchStatement__Group_2_2__0 )*
            loop45:
            do {
                int alt45=2;
                int LA45_0 = input.LA(1);

                if ( (LA45_0==51) ) {
                    int LA45_2 = input.LA(2);

                    if ( (synpred81()) ) {
                        alt45=1;
                    }


                }


                switch (alt45) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4798:2: rule__MatchStatement__Group_2_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2_2__0_in_rule__MatchStatement__Group_2__2__Impl9973);
            	    rule__MatchStatement__Group_2_2__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop45;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getGroup_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2__2__Impl


    // $ANTLR start rule__MatchStatement__Group_2_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4814:1: rule__MatchStatement__Group_2_2__0 : rule__MatchStatement__Group_2_2__0__Impl rule__MatchStatement__Group_2_2__1 ;
    public final void rule__MatchStatement__Group_2_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4818:1: ( rule__MatchStatement__Group_2_2__0__Impl rule__MatchStatement__Group_2_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4819:2: rule__MatchStatement__Group_2_2__0__Impl rule__MatchStatement__Group_2_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2_2__0__Impl_in_rule__MatchStatement__Group_2_2__010010);
            rule__MatchStatement__Group_2_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2_2__1_in_rule__MatchStatement__Group_2_2__010013);
            rule__MatchStatement__Group_2_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2_2__0


    // $ANTLR start rule__MatchStatement__Group_2_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4826:1: rule__MatchStatement__Group_2_2__0__Impl : ( ',' ) ;
    public final void rule__MatchStatement__Group_2_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4830:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4831:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4831:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4832:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getCommaKeyword_2_2_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__MatchStatement__Group_2_2__0__Impl10041); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getCommaKeyword_2_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2_2__0__Impl


    // $ANTLR start rule__MatchStatement__Group_2_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4845:1: rule__MatchStatement__Group_2_2__1 : rule__MatchStatement__Group_2_2__1__Impl ;
    public final void rule__MatchStatement__Group_2_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4849:1: ( rule__MatchStatement__Group_2_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4850:2: rule__MatchStatement__Group_2_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2_2__1__Impl_in_rule__MatchStatement__Group_2_2__110072);
            rule__MatchStatement__Group_2_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2_2__1


    // $ANTLR start rule__MatchStatement__Group_2_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4856:1: rule__MatchStatement__Group_2_2__1__Impl : ( ( rule__MatchStatement__ChildrenAssignment_2_2_1 ) ) ;
    public final void rule__MatchStatement__Group_2_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4860:1: ( ( ( rule__MatchStatement__ChildrenAssignment_2_2_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4861:1: ( ( rule__MatchStatement__ChildrenAssignment_2_2_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4861:1: ( ( rule__MatchStatement__ChildrenAssignment_2_2_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4862:1: ( rule__MatchStatement__ChildrenAssignment_2_2_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenAssignment_2_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4863:1: ( rule__MatchStatement__ChildrenAssignment_2_2_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4863:2: rule__MatchStatement__ChildrenAssignment_2_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__ChildrenAssignment_2_2_1_in_rule__MatchStatement__Group_2_2__1__Impl10099);
            rule__MatchStatement__ChildrenAssignment_2_2_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenAssignment_2_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_2_2__1__Impl


    // $ANTLR start rule__MatchStatement__Group_3__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4877:1: rule__MatchStatement__Group_3__0 : rule__MatchStatement__Group_3__0__Impl rule__MatchStatement__Group_3__1 ;
    public final void rule__MatchStatement__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4881:1: ( rule__MatchStatement__Group_3__0__Impl rule__MatchStatement__Group_3__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4882:2: rule__MatchStatement__Group_3__0__Impl rule__MatchStatement__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3__0__Impl_in_rule__MatchStatement__Group_3__010133);
            rule__MatchStatement__Group_3__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3__1_in_rule__MatchStatement__Group_3__010136);
            rule__MatchStatement__Group_3__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3__0


    // $ANTLR start rule__MatchStatement__Group_3__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4889:1: rule__MatchStatement__Group_3__0__Impl : ( 'options' ) ;
    public final void rule__MatchStatement__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4893:1: ( ( 'options' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4894:1: ( 'options' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4894:1: ( 'options' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4895:1: 'options'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getOptionsKeyword_3_0()); 
            }
            match(input,62,FollowSets000.FOLLOW_62_in_rule__MatchStatement__Group_3__0__Impl10164); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getOptionsKeyword_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3__0__Impl


    // $ANTLR start rule__MatchStatement__Group_3__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4908:1: rule__MatchStatement__Group_3__1 : rule__MatchStatement__Group_3__1__Impl rule__MatchStatement__Group_3__2 ;
    public final void rule__MatchStatement__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4912:1: ( rule__MatchStatement__Group_3__1__Impl rule__MatchStatement__Group_3__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4913:2: rule__MatchStatement__Group_3__1__Impl rule__MatchStatement__Group_3__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3__1__Impl_in_rule__MatchStatement__Group_3__110195);
            rule__MatchStatement__Group_3__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3__2_in_rule__MatchStatement__Group_3__110198);
            rule__MatchStatement__Group_3__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3__1


    // $ANTLR start rule__MatchStatement__Group_3__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4920:1: rule__MatchStatement__Group_3__1__Impl : ( ( rule__MatchStatement__ChildrenAssignment_3_1 ) ) ;
    public final void rule__MatchStatement__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4924:1: ( ( ( rule__MatchStatement__ChildrenAssignment_3_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4925:1: ( ( rule__MatchStatement__ChildrenAssignment_3_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4925:1: ( ( rule__MatchStatement__ChildrenAssignment_3_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4926:1: ( rule__MatchStatement__ChildrenAssignment_3_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenAssignment_3_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4927:1: ( rule__MatchStatement__ChildrenAssignment_3_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4927:2: rule__MatchStatement__ChildrenAssignment_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__ChildrenAssignment_3_1_in_rule__MatchStatement__Group_3__1__Impl10225);
            rule__MatchStatement__ChildrenAssignment_3_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenAssignment_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3__1__Impl


    // $ANTLR start rule__MatchStatement__Group_3__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4937:1: rule__MatchStatement__Group_3__2 : rule__MatchStatement__Group_3__2__Impl ;
    public final void rule__MatchStatement__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4941:1: ( rule__MatchStatement__Group_3__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4942:2: rule__MatchStatement__Group_3__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3__2__Impl_in_rule__MatchStatement__Group_3__210255);
            rule__MatchStatement__Group_3__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3__2


    // $ANTLR start rule__MatchStatement__Group_3__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4948:1: rule__MatchStatement__Group_3__2__Impl : ( ( rule__MatchStatement__Group_3_2__0 )* ) ;
    public final void rule__MatchStatement__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4952:1: ( ( ( rule__MatchStatement__Group_3_2__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4953:1: ( ( rule__MatchStatement__Group_3_2__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4953:1: ( ( rule__MatchStatement__Group_3_2__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4954:1: ( rule__MatchStatement__Group_3_2__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getGroup_3_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4955:1: ( rule__MatchStatement__Group_3_2__0 )*
            loop46:
            do {
                int alt46=2;
                int LA46_0 = input.LA(1);

                if ( (LA46_0==51) ) {
                    int LA46_2 = input.LA(2);

                    if ( (synpred82()) ) {
                        alt46=1;
                    }


                }


                switch (alt46) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4955:2: rule__MatchStatement__Group_3_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3_2__0_in_rule__MatchStatement__Group_3__2__Impl10282);
            	    rule__MatchStatement__Group_3_2__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop46;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getGroup_3_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3__2__Impl


    // $ANTLR start rule__MatchStatement__Group_3_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4971:1: rule__MatchStatement__Group_3_2__0 : rule__MatchStatement__Group_3_2__0__Impl rule__MatchStatement__Group_3_2__1 ;
    public final void rule__MatchStatement__Group_3_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4975:1: ( rule__MatchStatement__Group_3_2__0__Impl rule__MatchStatement__Group_3_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4976:2: rule__MatchStatement__Group_3_2__0__Impl rule__MatchStatement__Group_3_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3_2__0__Impl_in_rule__MatchStatement__Group_3_2__010319);
            rule__MatchStatement__Group_3_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3_2__1_in_rule__MatchStatement__Group_3_2__010322);
            rule__MatchStatement__Group_3_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3_2__0


    // $ANTLR start rule__MatchStatement__Group_3_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4983:1: rule__MatchStatement__Group_3_2__0__Impl : ( ',' ) ;
    public final void rule__MatchStatement__Group_3_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4987:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4988:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4988:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4989:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getCommaKeyword_3_2_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__MatchStatement__Group_3_2__0__Impl10350); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getCommaKeyword_3_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3_2__0__Impl


    // $ANTLR start rule__MatchStatement__Group_3_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5002:1: rule__MatchStatement__Group_3_2__1 : rule__MatchStatement__Group_3_2__1__Impl ;
    public final void rule__MatchStatement__Group_3_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5006:1: ( rule__MatchStatement__Group_3_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5007:2: rule__MatchStatement__Group_3_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3_2__1__Impl_in_rule__MatchStatement__Group_3_2__110381);
            rule__MatchStatement__Group_3_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3_2__1


    // $ANTLR start rule__MatchStatement__Group_3_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5013:1: rule__MatchStatement__Group_3_2__1__Impl : ( ( rule__MatchStatement__ChildrenAssignment_3_2_1 ) ) ;
    public final void rule__MatchStatement__Group_3_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5017:1: ( ( ( rule__MatchStatement__ChildrenAssignment_3_2_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5018:1: ( ( rule__MatchStatement__ChildrenAssignment_3_2_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5018:1: ( ( rule__MatchStatement__ChildrenAssignment_3_2_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5019:1: ( rule__MatchStatement__ChildrenAssignment_3_2_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenAssignment_3_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5020:1: ( rule__MatchStatement__ChildrenAssignment_3_2_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5020:2: rule__MatchStatement__ChildrenAssignment_3_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__ChildrenAssignment_3_2_1_in_rule__MatchStatement__Group_3_2__1__Impl10408);
            rule__MatchStatement__ChildrenAssignment_3_2_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenAssignment_3_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__Group_3_2__1__Impl


    // $ANTLR start rule__MatchOption__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5034:1: rule__MatchOption__Group__0 : rule__MatchOption__Group__0__Impl rule__MatchOption__Group__1 ;
    public final void rule__MatchOption__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5038:1: ( rule__MatchOption__Group__0__Impl rule__MatchOption__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5039:2: rule__MatchOption__Group__0__Impl rule__MatchOption__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__Group__0__Impl_in_rule__MatchOption__Group__010442);
            rule__MatchOption__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__Group__1_in_rule__MatchOption__Group__010445);
            rule__MatchOption__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__Group__0


    // $ANTLR start rule__MatchOption__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5046:1: rule__MatchOption__Group__0__Impl : ( ( rule__MatchOption__NameAssignment_0 ) ) ;
    public final void rule__MatchOption__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5050:1: ( ( ( rule__MatchOption__NameAssignment_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5051:1: ( ( rule__MatchOption__NameAssignment_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5051:1: ( ( rule__MatchOption__NameAssignment_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5052:1: ( rule__MatchOption__NameAssignment_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchOptionAccess().getNameAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5053:1: ( rule__MatchOption__NameAssignment_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5053:2: rule__MatchOption__NameAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__NameAssignment_0_in_rule__MatchOption__Group__0__Impl10472);
            rule__MatchOption__NameAssignment_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchOptionAccess().getNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__Group__0__Impl


    // $ANTLR start rule__MatchOption__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5063:1: rule__MatchOption__Group__1 : rule__MatchOption__Group__1__Impl rule__MatchOption__Group__2 ;
    public final void rule__MatchOption__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5067:1: ( rule__MatchOption__Group__1__Impl rule__MatchOption__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5068:2: rule__MatchOption__Group__1__Impl rule__MatchOption__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__Group__1__Impl_in_rule__MatchOption__Group__110502);
            rule__MatchOption__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__Group__2_in_rule__MatchOption__Group__110505);
            rule__MatchOption__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__Group__1


    // $ANTLR start rule__MatchOption__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5075:1: rule__MatchOption__Group__1__Impl : ( '=' ) ;
    public final void rule__MatchOption__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5079:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5080:1: ( '=' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5080:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5081:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchOptionAccess().getEqualsSignKeyword_1()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__MatchOption__Group__1__Impl10533); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchOptionAccess().getEqualsSignKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__Group__1__Impl


    // $ANTLR start rule__MatchOption__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5094:1: rule__MatchOption__Group__2 : rule__MatchOption__Group__2__Impl ;
    public final void rule__MatchOption__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5098:1: ( rule__MatchOption__Group__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5099:2: rule__MatchOption__Group__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__Group__2__Impl_in_rule__MatchOption__Group__210564);
            rule__MatchOption__Group__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__Group__2


    // $ANTLR start rule__MatchOption__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5105:1: rule__MatchOption__Group__2__Impl : ( ( rule__MatchOption__ValueAssignment_2 ) ) ;
    public final void rule__MatchOption__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5109:1: ( ( ( rule__MatchOption__ValueAssignment_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5110:1: ( ( rule__MatchOption__ValueAssignment_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5110:1: ( ( rule__MatchOption__ValueAssignment_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5111:1: ( rule__MatchOption__ValueAssignment_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchOptionAccess().getValueAssignment_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5112:1: ( rule__MatchOption__ValueAssignment_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5112:2: rule__MatchOption__ValueAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__ValueAssignment_2_in_rule__MatchOption__Group__2__Impl10591);
            rule__MatchOption__ValueAssignment_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchOptionAccess().getValueAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__Group__2__Impl


    // $ANTLR start rule__IfStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5128:1: rule__IfStatement__Group__0 : rule__IfStatement__Group__0__Impl rule__IfStatement__Group__1 ;
    public final void rule__IfStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5132:1: ( rule__IfStatement__Group__0__Impl rule__IfStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5133:2: rule__IfStatement__Group__0__Impl rule__IfStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__0__Impl_in_rule__IfStatement__Group__010627);
            rule__IfStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__1_in_rule__IfStatement__Group__010630);
            rule__IfStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__0


    // $ANTLR start rule__IfStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5140:1: rule__IfStatement__Group__0__Impl : ( 'if' ) ;
    public final void rule__IfStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5144:1: ( ( 'if' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5145:1: ( 'if' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5145:1: ( 'if' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5146:1: 'if'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getIfKeyword_0()); 
            }
            match(input,63,FollowSets000.FOLLOW_63_in_rule__IfStatement__Group__0__Impl10658); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getIfKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__0__Impl


    // $ANTLR start rule__IfStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5159:1: rule__IfStatement__Group__1 : rule__IfStatement__Group__1__Impl rule__IfStatement__Group__2 ;
    public final void rule__IfStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5163:1: ( rule__IfStatement__Group__1__Impl rule__IfStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5164:2: rule__IfStatement__Group__1__Impl rule__IfStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__1__Impl_in_rule__IfStatement__Group__110689);
            rule__IfStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__2_in_rule__IfStatement__Group__110692);
            rule__IfStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__1


    // $ANTLR start rule__IfStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5171:1: rule__IfStatement__Group__1__Impl : ( '(' ) ;
    public final void rule__IfStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5175:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5176:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5176:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5177:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getLeftParenthesisKeyword_1()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__IfStatement__Group__1__Impl10720); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getLeftParenthesisKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__1__Impl


    // $ANTLR start rule__IfStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5190:1: rule__IfStatement__Group__2 : rule__IfStatement__Group__2__Impl rule__IfStatement__Group__3 ;
    public final void rule__IfStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5194:1: ( rule__IfStatement__Group__2__Impl rule__IfStatement__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5195:2: rule__IfStatement__Group__2__Impl rule__IfStatement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__2__Impl_in_rule__IfStatement__Group__210751);
            rule__IfStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__3_in_rule__IfStatement__Group__210754);
            rule__IfStatement__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__2


    // $ANTLR start rule__IfStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5202:1: rule__IfStatement__Group__2__Impl : ( ( rule__IfStatement__ConditionAssignment_2 ) ) ;
    public final void rule__IfStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5206:1: ( ( ( rule__IfStatement__ConditionAssignment_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5207:1: ( ( rule__IfStatement__ConditionAssignment_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5207:1: ( ( rule__IfStatement__ConditionAssignment_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5208:1: ( rule__IfStatement__ConditionAssignment_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getConditionAssignment_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5209:1: ( rule__IfStatement__ConditionAssignment_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5209:2: rule__IfStatement__ConditionAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__ConditionAssignment_2_in_rule__IfStatement__Group__2__Impl10781);
            rule__IfStatement__ConditionAssignment_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getConditionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__2__Impl


    // $ANTLR start rule__IfStatement__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5219:1: rule__IfStatement__Group__3 : rule__IfStatement__Group__3__Impl rule__IfStatement__Group__4 ;
    public final void rule__IfStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5223:1: ( rule__IfStatement__Group__3__Impl rule__IfStatement__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5224:2: rule__IfStatement__Group__3__Impl rule__IfStatement__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__3__Impl_in_rule__IfStatement__Group__310811);
            rule__IfStatement__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__4_in_rule__IfStatement__Group__310814);
            rule__IfStatement__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__3


    // $ANTLR start rule__IfStatement__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5231:1: rule__IfStatement__Group__3__Impl : ( ')' ) ;
    public final void rule__IfStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5235:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5236:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5236:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5237:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getRightParenthesisKeyword_3()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__IfStatement__Group__3__Impl10842); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getRightParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__3__Impl


    // $ANTLR start rule__IfStatement__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5250:1: rule__IfStatement__Group__4 : rule__IfStatement__Group__4__Impl rule__IfStatement__Group__5 ;
    public final void rule__IfStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5254:1: ( rule__IfStatement__Group__4__Impl rule__IfStatement__Group__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5255:2: rule__IfStatement__Group__4__Impl rule__IfStatement__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__4__Impl_in_rule__IfStatement__Group__410873);
            rule__IfStatement__Group__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__5_in_rule__IfStatement__Group__410876);
            rule__IfStatement__Group__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__4


    // $ANTLR start rule__IfStatement__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5262:1: rule__IfStatement__Group__4__Impl : ( ( rule__IfStatement__TrueStatementAssignment_4 ) ) ;
    public final void rule__IfStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5266:1: ( ( ( rule__IfStatement__TrueStatementAssignment_4 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5267:1: ( ( rule__IfStatement__TrueStatementAssignment_4 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5267:1: ( ( rule__IfStatement__TrueStatementAssignment_4 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5268:1: ( rule__IfStatement__TrueStatementAssignment_4 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getTrueStatementAssignment_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5269:1: ( rule__IfStatement__TrueStatementAssignment_4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5269:2: rule__IfStatement__TrueStatementAssignment_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__TrueStatementAssignment_4_in_rule__IfStatement__Group__4__Impl10903);
            rule__IfStatement__TrueStatementAssignment_4();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getTrueStatementAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__4__Impl


    // $ANTLR start rule__IfStatement__Group__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5279:1: rule__IfStatement__Group__5 : rule__IfStatement__Group__5__Impl ;
    public final void rule__IfStatement__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5283:1: ( rule__IfStatement__Group__5__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5284:2: rule__IfStatement__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group__5__Impl_in_rule__IfStatement__Group__510933);
            rule__IfStatement__Group__5__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__5


    // $ANTLR start rule__IfStatement__Group__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5290:1: rule__IfStatement__Group__5__Impl : ( ( rule__IfStatement__Group_5__0 )? ) ;
    public final void rule__IfStatement__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5294:1: ( ( ( rule__IfStatement__Group_5__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5295:1: ( ( rule__IfStatement__Group_5__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5295:1: ( ( rule__IfStatement__Group_5__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5296:1: ( rule__IfStatement__Group_5__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getGroup_5()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5297:1: ( rule__IfStatement__Group_5__0 )?
            int alt47=2;
            int LA47_0 = input.LA(1);

            if ( (LA47_0==64) ) {
                int LA47_1 = input.LA(2);

                if ( (synpred83()) ) {
                    alt47=1;
                }
            }
            switch (alt47) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5297:2: rule__IfStatement__Group_5__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group_5__0_in_rule__IfStatement__Group__5__Impl10960);
                    rule__IfStatement__Group_5__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getGroup_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group__5__Impl


    // $ANTLR start rule__IfStatement__Group_5__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5319:1: rule__IfStatement__Group_5__0 : rule__IfStatement__Group_5__0__Impl rule__IfStatement__Group_5__1 ;
    public final void rule__IfStatement__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5323:1: ( rule__IfStatement__Group_5__0__Impl rule__IfStatement__Group_5__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5324:2: rule__IfStatement__Group_5__0__Impl rule__IfStatement__Group_5__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group_5__0__Impl_in_rule__IfStatement__Group_5__011003);
            rule__IfStatement__Group_5__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group_5__1_in_rule__IfStatement__Group_5__011006);
            rule__IfStatement__Group_5__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group_5__0


    // $ANTLR start rule__IfStatement__Group_5__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5331:1: rule__IfStatement__Group_5__0__Impl : ( 'else' ) ;
    public final void rule__IfStatement__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5335:1: ( ( 'else' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5336:1: ( 'else' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5336:1: ( 'else' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5337:1: 'else'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getElseKeyword_5_0()); 
            }
            match(input,64,FollowSets000.FOLLOW_64_in_rule__IfStatement__Group_5__0__Impl11034); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getElseKeyword_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group_5__0__Impl


    // $ANTLR start rule__IfStatement__Group_5__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5350:1: rule__IfStatement__Group_5__1 : rule__IfStatement__Group_5__1__Impl ;
    public final void rule__IfStatement__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5354:1: ( rule__IfStatement__Group_5__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5355:2: rule__IfStatement__Group_5__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group_5__1__Impl_in_rule__IfStatement__Group_5__111065);
            rule__IfStatement__Group_5__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group_5__1


    // $ANTLR start rule__IfStatement__Group_5__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5361:1: rule__IfStatement__Group_5__1__Impl : ( ( rule__IfStatement__FalseStatementAssignment_5_1 ) ) ;
    public final void rule__IfStatement__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5365:1: ( ( ( rule__IfStatement__FalseStatementAssignment_5_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5366:1: ( ( rule__IfStatement__FalseStatementAssignment_5_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5366:1: ( ( rule__IfStatement__FalseStatementAssignment_5_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5367:1: ( rule__IfStatement__FalseStatementAssignment_5_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getFalseStatementAssignment_5_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5368:1: ( rule__IfStatement__FalseStatementAssignment_5_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5368:2: rule__IfStatement__FalseStatementAssignment_5_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__IfStatement__FalseStatementAssignment_5_1_in_rule__IfStatement__Group_5__1__Impl11092);
            rule__IfStatement__FalseStatementAssignment_5_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getFalseStatementAssignment_5_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__Group_5__1__Impl


    // $ANTLR start rule__ForStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5382:1: rule__ForStatement__Group__0 : rule__ForStatement__Group__0__Impl rule__ForStatement__Group__1 ;
    public final void rule__ForStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5386:1: ( rule__ForStatement__Group__0__Impl rule__ForStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5387:2: rule__ForStatement__Group__0__Impl rule__ForStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__0__Impl_in_rule__ForStatement__Group__011126);
            rule__ForStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__1_in_rule__ForStatement__Group__011129);
            rule__ForStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__0


    // $ANTLR start rule__ForStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5394:1: rule__ForStatement__Group__0__Impl : ( ( rule__ForStatement__LoopTypeAssignment_0 ) ) ;
    public final void rule__ForStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5398:1: ( ( ( rule__ForStatement__LoopTypeAssignment_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5399:1: ( ( rule__ForStatement__LoopTypeAssignment_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5399:1: ( ( rule__ForStatement__LoopTypeAssignment_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5400:1: ( rule__ForStatement__LoopTypeAssignment_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getLoopTypeAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5401:1: ( rule__ForStatement__LoopTypeAssignment_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5401:2: rule__ForStatement__LoopTypeAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__LoopTypeAssignment_0_in_rule__ForStatement__Group__0__Impl11156);
            rule__ForStatement__LoopTypeAssignment_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getLoopTypeAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__0__Impl


    // $ANTLR start rule__ForStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5411:1: rule__ForStatement__Group__1 : rule__ForStatement__Group__1__Impl rule__ForStatement__Group__2 ;
    public final void rule__ForStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5415:1: ( rule__ForStatement__Group__1__Impl rule__ForStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5416:2: rule__ForStatement__Group__1__Impl rule__ForStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__1__Impl_in_rule__ForStatement__Group__111186);
            rule__ForStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__2_in_rule__ForStatement__Group__111189);
            rule__ForStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__1


    // $ANTLR start rule__ForStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5423:1: rule__ForStatement__Group__1__Impl : ( '(' ) ;
    public final void rule__ForStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5427:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5428:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5428:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5429:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__ForStatement__Group__1__Impl11217); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__1__Impl


    // $ANTLR start rule__ForStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5442:1: rule__ForStatement__Group__2 : rule__ForStatement__Group__2__Impl rule__ForStatement__Group__3 ;
    public final void rule__ForStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5446:1: ( rule__ForStatement__Group__2__Impl rule__ForStatement__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5447:2: rule__ForStatement__Group__2__Impl rule__ForStatement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__2__Impl_in_rule__ForStatement__Group__211248);
            rule__ForStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__3_in_rule__ForStatement__Group__211251);
            rule__ForStatement__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__2


    // $ANTLR start rule__ForStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5454:1: rule__ForStatement__Group__2__Impl : ( ( rule__ForStatement__InitStatementAssignment_2 ) ) ;
    public final void rule__ForStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5458:1: ( ( ( rule__ForStatement__InitStatementAssignment_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5459:1: ( ( rule__ForStatement__InitStatementAssignment_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5459:1: ( ( rule__ForStatement__InitStatementAssignment_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5460:1: ( rule__ForStatement__InitStatementAssignment_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getInitStatementAssignment_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5461:1: ( rule__ForStatement__InitStatementAssignment_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5461:2: rule__ForStatement__InitStatementAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__InitStatementAssignment_2_in_rule__ForStatement__Group__2__Impl11278);
            rule__ForStatement__InitStatementAssignment_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getInitStatementAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__2__Impl


    // $ANTLR start rule__ForStatement__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5471:1: rule__ForStatement__Group__3 : rule__ForStatement__Group__3__Impl rule__ForStatement__Group__4 ;
    public final void rule__ForStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5475:1: ( rule__ForStatement__Group__3__Impl rule__ForStatement__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5476:2: rule__ForStatement__Group__3__Impl rule__ForStatement__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__3__Impl_in_rule__ForStatement__Group__311308);
            rule__ForStatement__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__4_in_rule__ForStatement__Group__311311);
            rule__ForStatement__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__3


    // $ANTLR start rule__ForStatement__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5483:1: rule__ForStatement__Group__3__Impl : ( ';' ) ;
    public final void rule__ForStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5487:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5488:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5488:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5489:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getSemicolonKeyword_3()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__ForStatement__Group__3__Impl11339); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getSemicolonKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__3__Impl


    // $ANTLR start rule__ForStatement__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5502:1: rule__ForStatement__Group__4 : rule__ForStatement__Group__4__Impl rule__ForStatement__Group__5 ;
    public final void rule__ForStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5506:1: ( rule__ForStatement__Group__4__Impl rule__ForStatement__Group__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5507:2: rule__ForStatement__Group__4__Impl rule__ForStatement__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__4__Impl_in_rule__ForStatement__Group__411370);
            rule__ForStatement__Group__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__5_in_rule__ForStatement__Group__411373);
            rule__ForStatement__Group__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__4


    // $ANTLR start rule__ForStatement__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5514:1: rule__ForStatement__Group__4__Impl : ( ( rule__ForStatement__ConditionAssignment_4 ) ) ;
    public final void rule__ForStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5518:1: ( ( ( rule__ForStatement__ConditionAssignment_4 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5519:1: ( ( rule__ForStatement__ConditionAssignment_4 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5519:1: ( ( rule__ForStatement__ConditionAssignment_4 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5520:1: ( rule__ForStatement__ConditionAssignment_4 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getConditionAssignment_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5521:1: ( rule__ForStatement__ConditionAssignment_4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5521:2: rule__ForStatement__ConditionAssignment_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__ConditionAssignment_4_in_rule__ForStatement__Group__4__Impl11400);
            rule__ForStatement__ConditionAssignment_4();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getConditionAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__4__Impl


    // $ANTLR start rule__ForStatement__Group__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5531:1: rule__ForStatement__Group__5 : rule__ForStatement__Group__5__Impl rule__ForStatement__Group__6 ;
    public final void rule__ForStatement__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5535:1: ( rule__ForStatement__Group__5__Impl rule__ForStatement__Group__6 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5536:2: rule__ForStatement__Group__5__Impl rule__ForStatement__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__5__Impl_in_rule__ForStatement__Group__511430);
            rule__ForStatement__Group__5__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__6_in_rule__ForStatement__Group__511433);
            rule__ForStatement__Group__6();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__5


    // $ANTLR start rule__ForStatement__Group__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5543:1: rule__ForStatement__Group__5__Impl : ( ';' ) ;
    public final void rule__ForStatement__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5547:1: ( ( ';' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5548:1: ( ';' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5548:1: ( ';' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5549:1: ';'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getSemicolonKeyword_5()); 
            }
            match(input,45,FollowSets000.FOLLOW_45_in_rule__ForStatement__Group__5__Impl11461); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getSemicolonKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__5__Impl


    // $ANTLR start rule__ForStatement__Group__6
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5562:1: rule__ForStatement__Group__6 : rule__ForStatement__Group__6__Impl rule__ForStatement__Group__7 ;
    public final void rule__ForStatement__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5566:1: ( rule__ForStatement__Group__6__Impl rule__ForStatement__Group__7 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5567:2: rule__ForStatement__Group__6__Impl rule__ForStatement__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__6__Impl_in_rule__ForStatement__Group__611492);
            rule__ForStatement__Group__6__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__7_in_rule__ForStatement__Group__611495);
            rule__ForStatement__Group__7();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__6


    // $ANTLR start rule__ForStatement__Group__6__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5574:1: rule__ForStatement__Group__6__Impl : ( ( rule__ForStatement__PostStatementAssignment_6 ) ) ;
    public final void rule__ForStatement__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5578:1: ( ( ( rule__ForStatement__PostStatementAssignment_6 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5579:1: ( ( rule__ForStatement__PostStatementAssignment_6 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5579:1: ( ( rule__ForStatement__PostStatementAssignment_6 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5580:1: ( rule__ForStatement__PostStatementAssignment_6 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getPostStatementAssignment_6()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5581:1: ( rule__ForStatement__PostStatementAssignment_6 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5581:2: rule__ForStatement__PostStatementAssignment_6
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__PostStatementAssignment_6_in_rule__ForStatement__Group__6__Impl11522);
            rule__ForStatement__PostStatementAssignment_6();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getPostStatementAssignment_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__6__Impl


    // $ANTLR start rule__ForStatement__Group__7
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5591:1: rule__ForStatement__Group__7 : rule__ForStatement__Group__7__Impl rule__ForStatement__Group__8 ;
    public final void rule__ForStatement__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5595:1: ( rule__ForStatement__Group__7__Impl rule__ForStatement__Group__8 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5596:2: rule__ForStatement__Group__7__Impl rule__ForStatement__Group__8
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__7__Impl_in_rule__ForStatement__Group__711552);
            rule__ForStatement__Group__7__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__8_in_rule__ForStatement__Group__711555);
            rule__ForStatement__Group__8();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__7


    // $ANTLR start rule__ForStatement__Group__7__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5603:1: rule__ForStatement__Group__7__Impl : ( ')' ) ;
    public final void rule__ForStatement__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5607:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5608:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5608:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5609:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getRightParenthesisKeyword_7()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__ForStatement__Group__7__Impl11583); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getRightParenthesisKeyword_7()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__7__Impl


    // $ANTLR start rule__ForStatement__Group__8
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5622:1: rule__ForStatement__Group__8 : rule__ForStatement__Group__8__Impl ;
    public final void rule__ForStatement__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5626:1: ( rule__ForStatement__Group__8__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5627:2: rule__ForStatement__Group__8__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__Group__8__Impl_in_rule__ForStatement__Group__811614);
            rule__ForStatement__Group__8__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__8


    // $ANTLR start rule__ForStatement__Group__8__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5633:1: rule__ForStatement__Group__8__Impl : ( ( rule__ForStatement__BodyStatementAssignment_8 ) ) ;
    public final void rule__ForStatement__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5637:1: ( ( ( rule__ForStatement__BodyStatementAssignment_8 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5638:1: ( ( rule__ForStatement__BodyStatementAssignment_8 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5638:1: ( ( rule__ForStatement__BodyStatementAssignment_8 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5639:1: ( rule__ForStatement__BodyStatementAssignment_8 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getBodyStatementAssignment_8()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5640:1: ( rule__ForStatement__BodyStatementAssignment_8 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5640:2: rule__ForStatement__BodyStatementAssignment_8
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForStatement__BodyStatementAssignment_8_in_rule__ForStatement__Group__8__Impl11641);
            rule__ForStatement__BodyStatementAssignment_8();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getBodyStatementAssignment_8()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__Group__8__Impl


    // $ANTLR start rule__ForEachStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5668:1: rule__ForEachStatement__Group__0 : rule__ForEachStatement__Group__0__Impl rule__ForEachStatement__Group__1 ;
    public final void rule__ForEachStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5672:1: ( rule__ForEachStatement__Group__0__Impl rule__ForEachStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5673:2: rule__ForEachStatement__Group__0__Impl rule__ForEachStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__0__Impl_in_rule__ForEachStatement__Group__011689);
            rule__ForEachStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__1_in_rule__ForEachStatement__Group__011692);
            rule__ForEachStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__0


    // $ANTLR start rule__ForEachStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5680:1: rule__ForEachStatement__Group__0__Impl : ( ( rule__ForEachStatement__LoopTypeAssignment_0 ) ) ;
    public final void rule__ForEachStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5684:1: ( ( ( rule__ForEachStatement__LoopTypeAssignment_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5685:1: ( ( rule__ForEachStatement__LoopTypeAssignment_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5685:1: ( ( rule__ForEachStatement__LoopTypeAssignment_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5686:1: ( rule__ForEachStatement__LoopTypeAssignment_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getLoopTypeAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5687:1: ( rule__ForEachStatement__LoopTypeAssignment_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5687:2: rule__ForEachStatement__LoopTypeAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__LoopTypeAssignment_0_in_rule__ForEachStatement__Group__0__Impl11719);
            rule__ForEachStatement__LoopTypeAssignment_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getLoopTypeAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__0__Impl


    // $ANTLR start rule__ForEachStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5697:1: rule__ForEachStatement__Group__1 : rule__ForEachStatement__Group__1__Impl rule__ForEachStatement__Group__2 ;
    public final void rule__ForEachStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5701:1: ( rule__ForEachStatement__Group__1__Impl rule__ForEachStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5702:2: rule__ForEachStatement__Group__1__Impl rule__ForEachStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__1__Impl_in_rule__ForEachStatement__Group__111749);
            rule__ForEachStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__2_in_rule__ForEachStatement__Group__111752);
            rule__ForEachStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__1


    // $ANTLR start rule__ForEachStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5709:1: rule__ForEachStatement__Group__1__Impl : ( '(' ) ;
    public final void rule__ForEachStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5713:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5714:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5714:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5715:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getLeftParenthesisKeyword_1()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__ForEachStatement__Group__1__Impl11780); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getLeftParenthesisKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__1__Impl


    // $ANTLR start rule__ForEachStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5728:1: rule__ForEachStatement__Group__2 : rule__ForEachStatement__Group__2__Impl rule__ForEachStatement__Group__3 ;
    public final void rule__ForEachStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5732:1: ( rule__ForEachStatement__Group__2__Impl rule__ForEachStatement__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5733:2: rule__ForEachStatement__Group__2__Impl rule__ForEachStatement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__2__Impl_in_rule__ForEachStatement__Group__211811);
            rule__ForEachStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__3_in_rule__ForEachStatement__Group__211814);
            rule__ForEachStatement__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__2


    // $ANTLR start rule__ForEachStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5740:1: rule__ForEachStatement__Group__2__Impl : ( 'var' ) ;
    public final void rule__ForEachStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5744:1: ( ( 'var' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5745:1: ( 'var' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5745:1: ( 'var' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5746:1: 'var'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getVarKeyword_2()); 
            }
            match(input,56,FollowSets000.FOLLOW_56_in_rule__ForEachStatement__Group__2__Impl11842); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getVarKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__2__Impl


    // $ANTLR start rule__ForEachStatement__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5759:1: rule__ForEachStatement__Group__3 : rule__ForEachStatement__Group__3__Impl rule__ForEachStatement__Group__4 ;
    public final void rule__ForEachStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5763:1: ( rule__ForEachStatement__Group__3__Impl rule__ForEachStatement__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5764:2: rule__ForEachStatement__Group__3__Impl rule__ForEachStatement__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__3__Impl_in_rule__ForEachStatement__Group__311873);
            rule__ForEachStatement__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__4_in_rule__ForEachStatement__Group__311876);
            rule__ForEachStatement__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__3


    // $ANTLR start rule__ForEachStatement__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5771:1: rule__ForEachStatement__Group__3__Impl : ( ( rule__ForEachStatement__ControlVarAssignment_3 ) ) ;
    public final void rule__ForEachStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5775:1: ( ( ( rule__ForEachStatement__ControlVarAssignment_3 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5776:1: ( ( rule__ForEachStatement__ControlVarAssignment_3 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5776:1: ( ( rule__ForEachStatement__ControlVarAssignment_3 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5777:1: ( rule__ForEachStatement__ControlVarAssignment_3 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getControlVarAssignment_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5778:1: ( rule__ForEachStatement__ControlVarAssignment_3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5778:2: rule__ForEachStatement__ControlVarAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__ControlVarAssignment_3_in_rule__ForEachStatement__Group__3__Impl11903);
            rule__ForEachStatement__ControlVarAssignment_3();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getControlVarAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__3__Impl


    // $ANTLR start rule__ForEachStatement__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5788:1: rule__ForEachStatement__Group__4 : rule__ForEachStatement__Group__4__Impl rule__ForEachStatement__Group__5 ;
    public final void rule__ForEachStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5792:1: ( rule__ForEachStatement__Group__4__Impl rule__ForEachStatement__Group__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5793:2: rule__ForEachStatement__Group__4__Impl rule__ForEachStatement__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__4__Impl_in_rule__ForEachStatement__Group__411933);
            rule__ForEachStatement__Group__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__5_in_rule__ForEachStatement__Group__411936);
            rule__ForEachStatement__Group__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__4


    // $ANTLR start rule__ForEachStatement__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5800:1: rule__ForEachStatement__Group__4__Impl : ( 'in' ) ;
    public final void rule__ForEachStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5804:1: ( ( 'in' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5805:1: ( 'in' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5805:1: ( 'in' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5806:1: 'in'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getInKeyword_4()); 
            }
            match(input,65,FollowSets000.FOLLOW_65_in_rule__ForEachStatement__Group__4__Impl11964); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getInKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__4__Impl


    // $ANTLR start rule__ForEachStatement__Group__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5819:1: rule__ForEachStatement__Group__5 : rule__ForEachStatement__Group__5__Impl rule__ForEachStatement__Group__6 ;
    public final void rule__ForEachStatement__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5823:1: ( rule__ForEachStatement__Group__5__Impl rule__ForEachStatement__Group__6 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5824:2: rule__ForEachStatement__Group__5__Impl rule__ForEachStatement__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__5__Impl_in_rule__ForEachStatement__Group__511995);
            rule__ForEachStatement__Group__5__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__6_in_rule__ForEachStatement__Group__511998);
            rule__ForEachStatement__Group__6();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__5


    // $ANTLR start rule__ForEachStatement__Group__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5831:1: rule__ForEachStatement__Group__5__Impl : ( ( rule__ForEachStatement__ConditionAssignment_5 ) ) ;
    public final void rule__ForEachStatement__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5835:1: ( ( ( rule__ForEachStatement__ConditionAssignment_5 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5836:1: ( ( rule__ForEachStatement__ConditionAssignment_5 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5836:1: ( ( rule__ForEachStatement__ConditionAssignment_5 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5837:1: ( rule__ForEachStatement__ConditionAssignment_5 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getConditionAssignment_5()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5838:1: ( rule__ForEachStatement__ConditionAssignment_5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5838:2: rule__ForEachStatement__ConditionAssignment_5
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__ConditionAssignment_5_in_rule__ForEachStatement__Group__5__Impl12025);
            rule__ForEachStatement__ConditionAssignment_5();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getConditionAssignment_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__5__Impl


    // $ANTLR start rule__ForEachStatement__Group__6
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5848:1: rule__ForEachStatement__Group__6 : rule__ForEachStatement__Group__6__Impl rule__ForEachStatement__Group__7 ;
    public final void rule__ForEachStatement__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5852:1: ( rule__ForEachStatement__Group__6__Impl rule__ForEachStatement__Group__7 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5853:2: rule__ForEachStatement__Group__6__Impl rule__ForEachStatement__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__6__Impl_in_rule__ForEachStatement__Group__612055);
            rule__ForEachStatement__Group__6__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__7_in_rule__ForEachStatement__Group__612058);
            rule__ForEachStatement__Group__7();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__6


    // $ANTLR start rule__ForEachStatement__Group__6__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5860:1: rule__ForEachStatement__Group__6__Impl : ( ')' ) ;
    public final void rule__ForEachStatement__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5864:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5865:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5865:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5866:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getRightParenthesisKeyword_6()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__ForEachStatement__Group__6__Impl12086); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getRightParenthesisKeyword_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__6__Impl


    // $ANTLR start rule__ForEachStatement__Group__7
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5879:1: rule__ForEachStatement__Group__7 : rule__ForEachStatement__Group__7__Impl ;
    public final void rule__ForEachStatement__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5883:1: ( rule__ForEachStatement__Group__7__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5884:2: rule__ForEachStatement__Group__7__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__Group__7__Impl_in_rule__ForEachStatement__Group__712117);
            rule__ForEachStatement__Group__7__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__7


    // $ANTLR start rule__ForEachStatement__Group__7__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5890:1: rule__ForEachStatement__Group__7__Impl : ( ( rule__ForEachStatement__BodyStatementAssignment_7 ) ) ;
    public final void rule__ForEachStatement__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5894:1: ( ( ( rule__ForEachStatement__BodyStatementAssignment_7 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5895:1: ( ( rule__ForEachStatement__BodyStatementAssignment_7 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5895:1: ( ( rule__ForEachStatement__BodyStatementAssignment_7 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5896:1: ( rule__ForEachStatement__BodyStatementAssignment_7 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getBodyStatementAssignment_7()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5897:1: ( rule__ForEachStatement__BodyStatementAssignment_7 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5897:2: rule__ForEachStatement__BodyStatementAssignment_7
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForEachStatement__BodyStatementAssignment_7_in_rule__ForEachStatement__Group__7__Impl12144);
            rule__ForEachStatement__BodyStatementAssignment_7();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getBodyStatementAssignment_7()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__Group__7__Impl


    // $ANTLR start rule__WhileStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5923:1: rule__WhileStatement__Group__0 : rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1 ;
    public final void rule__WhileStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5927:1: ( rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5928:2: rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__0__Impl_in_rule__WhileStatement__Group__012190);
            rule__WhileStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__1_in_rule__WhileStatement__Group__012193);
            rule__WhileStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__0


    // $ANTLR start rule__WhileStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5935:1: rule__WhileStatement__Group__0__Impl : ( ( rule__WhileStatement__LoopTypeAssignment_0 ) ) ;
    public final void rule__WhileStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5939:1: ( ( ( rule__WhileStatement__LoopTypeAssignment_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5940:1: ( ( rule__WhileStatement__LoopTypeAssignment_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5940:1: ( ( rule__WhileStatement__LoopTypeAssignment_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5941:1: ( rule__WhileStatement__LoopTypeAssignment_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getLoopTypeAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5942:1: ( rule__WhileStatement__LoopTypeAssignment_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5942:2: rule__WhileStatement__LoopTypeAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__LoopTypeAssignment_0_in_rule__WhileStatement__Group__0__Impl12220);
            rule__WhileStatement__LoopTypeAssignment_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getLoopTypeAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__0__Impl


    // $ANTLR start rule__WhileStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5952:1: rule__WhileStatement__Group__1 : rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2 ;
    public final void rule__WhileStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5956:1: ( rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5957:2: rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__1__Impl_in_rule__WhileStatement__Group__112250);
            rule__WhileStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__2_in_rule__WhileStatement__Group__112253);
            rule__WhileStatement__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__1


    // $ANTLR start rule__WhileStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5964:1: rule__WhileStatement__Group__1__Impl : ( '(' ) ;
    public final void rule__WhileStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5968:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5969:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5969:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5970:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getLeftParenthesisKeyword_1()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__WhileStatement__Group__1__Impl12281); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getLeftParenthesisKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__1__Impl


    // $ANTLR start rule__WhileStatement__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5983:1: rule__WhileStatement__Group__2 : rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3 ;
    public final void rule__WhileStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5987:1: ( rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5988:2: rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__2__Impl_in_rule__WhileStatement__Group__212312);
            rule__WhileStatement__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__3_in_rule__WhileStatement__Group__212315);
            rule__WhileStatement__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__2


    // $ANTLR start rule__WhileStatement__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5995:1: rule__WhileStatement__Group__2__Impl : ( ( rule__WhileStatement__ConditionAssignment_2 ) ) ;
    public final void rule__WhileStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5999:1: ( ( ( rule__WhileStatement__ConditionAssignment_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6000:1: ( ( rule__WhileStatement__ConditionAssignment_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6000:1: ( ( rule__WhileStatement__ConditionAssignment_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6001:1: ( rule__WhileStatement__ConditionAssignment_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getConditionAssignment_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6002:1: ( rule__WhileStatement__ConditionAssignment_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6002:2: rule__WhileStatement__ConditionAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__ConditionAssignment_2_in_rule__WhileStatement__Group__2__Impl12342);
            rule__WhileStatement__ConditionAssignment_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getConditionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__2__Impl


    // $ANTLR start rule__WhileStatement__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6012:1: rule__WhileStatement__Group__3 : rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4 ;
    public final void rule__WhileStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6016:1: ( rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6017:2: rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__3__Impl_in_rule__WhileStatement__Group__312372);
            rule__WhileStatement__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__4_in_rule__WhileStatement__Group__312375);
            rule__WhileStatement__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__3


    // $ANTLR start rule__WhileStatement__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6024:1: rule__WhileStatement__Group__3__Impl : ( ')' ) ;
    public final void rule__WhileStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6028:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6029:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6029:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6030:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getRightParenthesisKeyword_3()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__WhileStatement__Group__3__Impl12403); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getRightParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__3__Impl


    // $ANTLR start rule__WhileStatement__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6043:1: rule__WhileStatement__Group__4 : rule__WhileStatement__Group__4__Impl ;
    public final void rule__WhileStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6047:1: ( rule__WhileStatement__Group__4__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6048:2: rule__WhileStatement__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__Group__4__Impl_in_rule__WhileStatement__Group__412434);
            rule__WhileStatement__Group__4__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__4


    // $ANTLR start rule__WhileStatement__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6054:1: rule__WhileStatement__Group__4__Impl : ( ( rule__WhileStatement__BodyStatementAssignment_4 ) ) ;
    public final void rule__WhileStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6058:1: ( ( ( rule__WhileStatement__BodyStatementAssignment_4 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6059:1: ( ( rule__WhileStatement__BodyStatementAssignment_4 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6059:1: ( ( rule__WhileStatement__BodyStatementAssignment_4 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6060:1: ( rule__WhileStatement__BodyStatementAssignment_4 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getBodyStatementAssignment_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6061:1: ( rule__WhileStatement__BodyStatementAssignment_4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6061:2: rule__WhileStatement__BodyStatementAssignment_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__WhileStatement__BodyStatementAssignment_4_in_rule__WhileStatement__Group__4__Impl12461);
            rule__WhileStatement__BodyStatementAssignment_4();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getBodyStatementAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__Group__4__Impl


    // $ANTLR start rule__ForInitStatement__Group_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6081:1: rule__ForInitStatement__Group_0__0 : rule__ForInitStatement__Group_0__0__Impl rule__ForInitStatement__Group_0__1 ;
    public final void rule__ForInitStatement__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6085:1: ( rule__ForInitStatement__Group_0__0__Impl rule__ForInitStatement__Group_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6086:2: rule__ForInitStatement__Group_0__0__Impl rule__ForInitStatement__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0__0__Impl_in_rule__ForInitStatement__Group_0__012501);
            rule__ForInitStatement__Group_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0__1_in_rule__ForInitStatement__Group_0__012504);
            rule__ForInitStatement__Group_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0__0


    // $ANTLR start rule__ForInitStatement__Group_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6093:1: rule__ForInitStatement__Group_0__0__Impl : ( ( rule__ForInitStatement__ChildrenAssignment_0_0 ) ) ;
    public final void rule__ForInitStatement__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6097:1: ( ( ( rule__ForInitStatement__ChildrenAssignment_0_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6098:1: ( ( rule__ForInitStatement__ChildrenAssignment_0_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6098:1: ( ( rule__ForInitStatement__ChildrenAssignment_0_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6099:1: ( rule__ForInitStatement__ChildrenAssignment_0_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getChildrenAssignment_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6100:1: ( rule__ForInitStatement__ChildrenAssignment_0_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6100:2: rule__ForInitStatement__ChildrenAssignment_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__ChildrenAssignment_0_0_in_rule__ForInitStatement__Group_0__0__Impl12531);
            rule__ForInitStatement__ChildrenAssignment_0_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getChildrenAssignment_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0__0__Impl


    // $ANTLR start rule__ForInitStatement__Group_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6110:1: rule__ForInitStatement__Group_0__1 : rule__ForInitStatement__Group_0__1__Impl ;
    public final void rule__ForInitStatement__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6114:1: ( rule__ForInitStatement__Group_0__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6115:2: rule__ForInitStatement__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0__1__Impl_in_rule__ForInitStatement__Group_0__112561);
            rule__ForInitStatement__Group_0__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0__1


    // $ANTLR start rule__ForInitStatement__Group_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6121:1: rule__ForInitStatement__Group_0__1__Impl : ( ( rule__ForInitStatement__Group_0_1__0 )* ) ;
    public final void rule__ForInitStatement__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6125:1: ( ( ( rule__ForInitStatement__Group_0_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6126:1: ( ( rule__ForInitStatement__Group_0_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6126:1: ( ( rule__ForInitStatement__Group_0_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6127:1: ( rule__ForInitStatement__Group_0_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getGroup_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6128:1: ( rule__ForInitStatement__Group_0_1__0 )*
            loop48:
            do {
                int alt48=2;
                int LA48_0 = input.LA(1);

                if ( (LA48_0==51) ) {
                    alt48=1;
                }


                switch (alt48) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6128:2: rule__ForInitStatement__Group_0_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0_1__0_in_rule__ForInitStatement__Group_0__1__Impl12588);
            	    rule__ForInitStatement__Group_0_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop48;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getGroup_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0__1__Impl


    // $ANTLR start rule__ForInitStatement__Group_0_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6142:1: rule__ForInitStatement__Group_0_1__0 : rule__ForInitStatement__Group_0_1__0__Impl rule__ForInitStatement__Group_0_1__1 ;
    public final void rule__ForInitStatement__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6146:1: ( rule__ForInitStatement__Group_0_1__0__Impl rule__ForInitStatement__Group_0_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6147:2: rule__ForInitStatement__Group_0_1__0__Impl rule__ForInitStatement__Group_0_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0_1__0__Impl_in_rule__ForInitStatement__Group_0_1__012623);
            rule__ForInitStatement__Group_0_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0_1__1_in_rule__ForInitStatement__Group_0_1__012626);
            rule__ForInitStatement__Group_0_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0_1__0


    // $ANTLR start rule__ForInitStatement__Group_0_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6154:1: rule__ForInitStatement__Group_0_1__0__Impl : ( ',' ) ;
    public final void rule__ForInitStatement__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6158:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6159:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6159:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6160:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getCommaKeyword_0_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__ForInitStatement__Group_0_1__0__Impl12654); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getCommaKeyword_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0_1__0__Impl


    // $ANTLR start rule__ForInitStatement__Group_0_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6173:1: rule__ForInitStatement__Group_0_1__1 : rule__ForInitStatement__Group_0_1__1__Impl ;
    public final void rule__ForInitStatement__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6177:1: ( rule__ForInitStatement__Group_0_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6178:2: rule__ForInitStatement__Group_0_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__Group_0_1__1__Impl_in_rule__ForInitStatement__Group_0_1__112685);
            rule__ForInitStatement__Group_0_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0_1__1


    // $ANTLR start rule__ForInitStatement__Group_0_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6184:1: rule__ForInitStatement__Group_0_1__1__Impl : ( ( rule__ForInitStatement__ChildrenAssignment_0_1_1 ) ) ;
    public final void rule__ForInitStatement__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6188:1: ( ( ( rule__ForInitStatement__ChildrenAssignment_0_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6189:1: ( ( rule__ForInitStatement__ChildrenAssignment_0_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6189:1: ( ( rule__ForInitStatement__ChildrenAssignment_0_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6190:1: ( rule__ForInitStatement__ChildrenAssignment_0_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getChildrenAssignment_0_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6191:1: ( rule__ForInitStatement__ChildrenAssignment_0_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6191:2: rule__ForInitStatement__ChildrenAssignment_0_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__ChildrenAssignment_0_1_1_in_rule__ForInitStatement__Group_0_1__1__Impl12712);
            rule__ForInitStatement__ChildrenAssignment_0_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getChildrenAssignment_0_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__Group_0_1__1__Impl


    // $ANTLR start rule__ForPostStatement__Group_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6205:1: rule__ForPostStatement__Group_0__0 : rule__ForPostStatement__Group_0__0__Impl rule__ForPostStatement__Group_0__1 ;
    public final void rule__ForPostStatement__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6209:1: ( rule__ForPostStatement__Group_0__0__Impl rule__ForPostStatement__Group_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6210:2: rule__ForPostStatement__Group_0__0__Impl rule__ForPostStatement__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0__0__Impl_in_rule__ForPostStatement__Group_0__012746);
            rule__ForPostStatement__Group_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0__1_in_rule__ForPostStatement__Group_0__012749);
            rule__ForPostStatement__Group_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0__0


    // $ANTLR start rule__ForPostStatement__Group_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6217:1: rule__ForPostStatement__Group_0__0__Impl : ( ( rule__ForPostStatement__ChildrenAssignment_0_0 ) ) ;
    public final void rule__ForPostStatement__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6221:1: ( ( ( rule__ForPostStatement__ChildrenAssignment_0_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6222:1: ( ( rule__ForPostStatement__ChildrenAssignment_0_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6222:1: ( ( rule__ForPostStatement__ChildrenAssignment_0_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6223:1: ( rule__ForPostStatement__ChildrenAssignment_0_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getChildrenAssignment_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6224:1: ( rule__ForPostStatement__ChildrenAssignment_0_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6224:2: rule__ForPostStatement__ChildrenAssignment_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__ChildrenAssignment_0_0_in_rule__ForPostStatement__Group_0__0__Impl12776);
            rule__ForPostStatement__ChildrenAssignment_0_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getChildrenAssignment_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0__0__Impl


    // $ANTLR start rule__ForPostStatement__Group_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6234:1: rule__ForPostStatement__Group_0__1 : rule__ForPostStatement__Group_0__1__Impl ;
    public final void rule__ForPostStatement__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6238:1: ( rule__ForPostStatement__Group_0__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6239:2: rule__ForPostStatement__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0__1__Impl_in_rule__ForPostStatement__Group_0__112806);
            rule__ForPostStatement__Group_0__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0__1


    // $ANTLR start rule__ForPostStatement__Group_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6245:1: rule__ForPostStatement__Group_0__1__Impl : ( ( rule__ForPostStatement__Group_0_1__0 )* ) ;
    public final void rule__ForPostStatement__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6249:1: ( ( ( rule__ForPostStatement__Group_0_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6250:1: ( ( rule__ForPostStatement__Group_0_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6250:1: ( ( rule__ForPostStatement__Group_0_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6251:1: ( rule__ForPostStatement__Group_0_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getGroup_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6252:1: ( rule__ForPostStatement__Group_0_1__0 )*
            loop49:
            do {
                int alt49=2;
                int LA49_0 = input.LA(1);

                if ( (LA49_0==51) ) {
                    alt49=1;
                }


                switch (alt49) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6252:2: rule__ForPostStatement__Group_0_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0_1__0_in_rule__ForPostStatement__Group_0__1__Impl12833);
            	    rule__ForPostStatement__Group_0_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop49;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getGroup_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0__1__Impl


    // $ANTLR start rule__ForPostStatement__Group_0_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6266:1: rule__ForPostStatement__Group_0_1__0 : rule__ForPostStatement__Group_0_1__0__Impl rule__ForPostStatement__Group_0_1__1 ;
    public final void rule__ForPostStatement__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6270:1: ( rule__ForPostStatement__Group_0_1__0__Impl rule__ForPostStatement__Group_0_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6271:2: rule__ForPostStatement__Group_0_1__0__Impl rule__ForPostStatement__Group_0_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0_1__0__Impl_in_rule__ForPostStatement__Group_0_1__012868);
            rule__ForPostStatement__Group_0_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0_1__1_in_rule__ForPostStatement__Group_0_1__012871);
            rule__ForPostStatement__Group_0_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0_1__0


    // $ANTLR start rule__ForPostStatement__Group_0_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6278:1: rule__ForPostStatement__Group_0_1__0__Impl : ( ',' ) ;
    public final void rule__ForPostStatement__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6282:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6283:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6283:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6284:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getCommaKeyword_0_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__ForPostStatement__Group_0_1__0__Impl12899); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getCommaKeyword_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0_1__0__Impl


    // $ANTLR start rule__ForPostStatement__Group_0_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6297:1: rule__ForPostStatement__Group_0_1__1 : rule__ForPostStatement__Group_0_1__1__Impl ;
    public final void rule__ForPostStatement__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6301:1: ( rule__ForPostStatement__Group_0_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6302:2: rule__ForPostStatement__Group_0_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__Group_0_1__1__Impl_in_rule__ForPostStatement__Group_0_1__112930);
            rule__ForPostStatement__Group_0_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0_1__1


    // $ANTLR start rule__ForPostStatement__Group_0_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6308:1: rule__ForPostStatement__Group_0_1__1__Impl : ( ( rule__ForPostStatement__ChildrenAssignment_0_1_1 ) ) ;
    public final void rule__ForPostStatement__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6312:1: ( ( ( rule__ForPostStatement__ChildrenAssignment_0_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6313:1: ( ( rule__ForPostStatement__ChildrenAssignment_0_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6313:1: ( ( rule__ForPostStatement__ChildrenAssignment_0_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6314:1: ( rule__ForPostStatement__ChildrenAssignment_0_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getChildrenAssignment_0_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6315:1: ( rule__ForPostStatement__ChildrenAssignment_0_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6315:2: rule__ForPostStatement__ChildrenAssignment_0_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForPostStatement__ChildrenAssignment_0_1_1_in_rule__ForPostStatement__Group_0_1__1__Impl12957);
            rule__ForPostStatement__ChildrenAssignment_0_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getChildrenAssignment_0_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__Group_0_1__1__Impl


    // $ANTLR start rule__AssignStatement__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6329:1: rule__AssignStatement__Group__0 : rule__AssignStatement__Group__0__Impl rule__AssignStatement__Group__1 ;
    public final void rule__AssignStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6333:1: ( rule__AssignStatement__Group__0__Impl rule__AssignStatement__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6334:2: rule__AssignStatement__Group__0__Impl rule__AssignStatement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group__0__Impl_in_rule__AssignStatement__Group__012991);
            rule__AssignStatement__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group__1_in_rule__AssignStatement__Group__012994);
            rule__AssignStatement__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group__0


    // $ANTLR start rule__AssignStatement__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6341:1: rule__AssignStatement__Group__0__Impl : ( ruleBooleanExpression ) ;
    public final void rule__AssignStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6345:1: ( ( ruleBooleanExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6346:1: ( ruleBooleanExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6346:1: ( ruleBooleanExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6347:1: ruleBooleanExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getBooleanExpressionParserRuleCall_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_rule__AssignStatement__Group__0__Impl13021);
            ruleBooleanExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getBooleanExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group__0__Impl


    // $ANTLR start rule__AssignStatement__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6358:1: rule__AssignStatement__Group__1 : rule__AssignStatement__Group__1__Impl ;
    public final void rule__AssignStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6362:1: ( rule__AssignStatement__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6363:2: rule__AssignStatement__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group__1__Impl_in_rule__AssignStatement__Group__113050);
            rule__AssignStatement__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group__1


    // $ANTLR start rule__AssignStatement__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6369:1: rule__AssignStatement__Group__1__Impl : ( ( rule__AssignStatement__Group_1__0 )? ) ;
    public final void rule__AssignStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6373:1: ( ( ( rule__AssignStatement__Group_1__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6374:1: ( ( rule__AssignStatement__Group_1__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6374:1: ( ( rule__AssignStatement__Group_1__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6375:1: ( rule__AssignStatement__Group_1__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getGroup_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6376:1: ( rule__AssignStatement__Group_1__0 )?
            int alt50=2;
            int LA50_0 = input.LA(1);

            if ( (LA50_0==53) ) {
                alt50=1;
            }
            switch (alt50) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6376:2: rule__AssignStatement__Group_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group_1__0_in_rule__AssignStatement__Group__1__Impl13077);
                    rule__AssignStatement__Group_1__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group__1__Impl


    // $ANTLR start rule__AssignStatement__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6390:1: rule__AssignStatement__Group_1__0 : rule__AssignStatement__Group_1__0__Impl rule__AssignStatement__Group_1__1 ;
    public final void rule__AssignStatement__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6394:1: ( rule__AssignStatement__Group_1__0__Impl rule__AssignStatement__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6395:2: rule__AssignStatement__Group_1__0__Impl rule__AssignStatement__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group_1__0__Impl_in_rule__AssignStatement__Group_1__013112);
            rule__AssignStatement__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group_1__1_in_rule__AssignStatement__Group_1__013115);
            rule__AssignStatement__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group_1__0


    // $ANTLR start rule__AssignStatement__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6402:1: rule__AssignStatement__Group_1__0__Impl : ( () ) ;
    public final void rule__AssignStatement__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6406:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6407:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6407:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6408:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getExpressionChildrenAction_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6409:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6411:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getExpressionChildrenAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group_1__0__Impl


    // $ANTLR start rule__AssignStatement__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6421:1: rule__AssignStatement__Group_1__1 : rule__AssignStatement__Group_1__1__Impl rule__AssignStatement__Group_1__2 ;
    public final void rule__AssignStatement__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6425:1: ( rule__AssignStatement__Group_1__1__Impl rule__AssignStatement__Group_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6426:2: rule__AssignStatement__Group_1__1__Impl rule__AssignStatement__Group_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group_1__1__Impl_in_rule__AssignStatement__Group_1__113173);
            rule__AssignStatement__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group_1__2_in_rule__AssignStatement__Group_1__113176);
            rule__AssignStatement__Group_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group_1__1


    // $ANTLR start rule__AssignStatement__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6433:1: rule__AssignStatement__Group_1__1__Impl : ( ( rule__AssignStatement__OperatorAssignment_1_1 ) ) ;
    public final void rule__AssignStatement__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6437:1: ( ( ( rule__AssignStatement__OperatorAssignment_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6438:1: ( ( rule__AssignStatement__OperatorAssignment_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6438:1: ( ( rule__AssignStatement__OperatorAssignment_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6439:1: ( rule__AssignStatement__OperatorAssignment_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getOperatorAssignment_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6440:1: ( rule__AssignStatement__OperatorAssignment_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6440:2: rule__AssignStatement__OperatorAssignment_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__OperatorAssignment_1_1_in_rule__AssignStatement__Group_1__1__Impl13203);
            rule__AssignStatement__OperatorAssignment_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group_1__1__Impl


    // $ANTLR start rule__AssignStatement__Group_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6450:1: rule__AssignStatement__Group_1__2 : rule__AssignStatement__Group_1__2__Impl ;
    public final void rule__AssignStatement__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6454:1: ( rule__AssignStatement__Group_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6455:2: rule__AssignStatement__Group_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__Group_1__2__Impl_in_rule__AssignStatement__Group_1__213233);
            rule__AssignStatement__Group_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group_1__2


    // $ANTLR start rule__AssignStatement__Group_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6461:1: rule__AssignStatement__Group_1__2__Impl : ( ( rule__AssignStatement__ChildrenAssignment_1_2 ) ) ;
    public final void rule__AssignStatement__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6465:1: ( ( ( rule__AssignStatement__ChildrenAssignment_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6466:1: ( ( rule__AssignStatement__ChildrenAssignment_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6466:1: ( ( rule__AssignStatement__ChildrenAssignment_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6467:1: ( rule__AssignStatement__ChildrenAssignment_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getChildrenAssignment_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6468:1: ( rule__AssignStatement__ChildrenAssignment_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6468:2: rule__AssignStatement__ChildrenAssignment_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__AssignStatement__ChildrenAssignment_1_2_in_rule__AssignStatement__Group_1__2__Impl13260);
            rule__AssignStatement__ChildrenAssignment_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getChildrenAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__Group_1__2__Impl


    // $ANTLR start rule__NamedArgument__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6484:1: rule__NamedArgument__Group__0 : rule__NamedArgument__Group__0__Impl rule__NamedArgument__Group__1 ;
    public final void rule__NamedArgument__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6488:1: ( rule__NamedArgument__Group__0__Impl rule__NamedArgument__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6489:2: rule__NamedArgument__Group__0__Impl rule__NamedArgument__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group__0__Impl_in_rule__NamedArgument__Group__013296);
            rule__NamedArgument__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group__1_in_rule__NamedArgument__Group__013299);
            rule__NamedArgument__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group__0


    // $ANTLR start rule__NamedArgument__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6496:1: rule__NamedArgument__Group__0__Impl : ( ( rule__NamedArgument__NameAssignment_0 ) ) ;
    public final void rule__NamedArgument__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6500:1: ( ( ( rule__NamedArgument__NameAssignment_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6501:1: ( ( rule__NamedArgument__NameAssignment_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6501:1: ( ( rule__NamedArgument__NameAssignment_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6502:1: ( rule__NamedArgument__NameAssignment_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getNameAssignment_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6503:1: ( rule__NamedArgument__NameAssignment_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6503:2: rule__NamedArgument__NameAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__NameAssignment_0_in_rule__NamedArgument__Group__0__Impl13326);
            rule__NamedArgument__NameAssignment_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group__0__Impl


    // $ANTLR start rule__NamedArgument__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6513:1: rule__NamedArgument__Group__1 : rule__NamedArgument__Group__1__Impl rule__NamedArgument__Group__2 ;
    public final void rule__NamedArgument__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6517:1: ( rule__NamedArgument__Group__1__Impl rule__NamedArgument__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6518:2: rule__NamedArgument__Group__1__Impl rule__NamedArgument__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group__1__Impl_in_rule__NamedArgument__Group__113356);
            rule__NamedArgument__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group__2_in_rule__NamedArgument__Group__113359);
            rule__NamedArgument__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group__1


    // $ANTLR start rule__NamedArgument__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6525:1: rule__NamedArgument__Group__1__Impl : ( '=' ) ;
    public final void rule__NamedArgument__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6529:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6530:1: ( '=' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6530:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6531:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getEqualsSignKeyword_1()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__NamedArgument__Group__1__Impl13387); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getEqualsSignKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group__1__Impl


    // $ANTLR start rule__NamedArgument__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6544:1: rule__NamedArgument__Group__2 : rule__NamedArgument__Group__2__Impl ;
    public final void rule__NamedArgument__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6548:1: ( rule__NamedArgument__Group__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6549:2: rule__NamedArgument__Group__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group__2__Impl_in_rule__NamedArgument__Group__213418);
            rule__NamedArgument__Group__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group__2


    // $ANTLR start rule__NamedArgument__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6555:1: rule__NamedArgument__Group__2__Impl : ( ( rule__NamedArgument__Alternatives_2 ) ) ;
    public final void rule__NamedArgument__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6559:1: ( ( ( rule__NamedArgument__Alternatives_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6560:1: ( ( rule__NamedArgument__Alternatives_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6560:1: ( ( rule__NamedArgument__Alternatives_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6561:1: ( rule__NamedArgument__Alternatives_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getAlternatives_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6562:1: ( rule__NamedArgument__Alternatives_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6562:2: rule__NamedArgument__Alternatives_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Alternatives_2_in_rule__NamedArgument__Group__2__Impl13445);
            rule__NamedArgument__Alternatives_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getAlternatives_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group__2__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6578:1: rule__NamedArgument__Group_2_1__0 : rule__NamedArgument__Group_2_1__0__Impl rule__NamedArgument__Group_2_1__1 ;
    public final void rule__NamedArgument__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6582:1: ( rule__NamedArgument__Group_2_1__0__Impl rule__NamedArgument__Group_2_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6583:2: rule__NamedArgument__Group_2_1__0__Impl rule__NamedArgument__Group_2_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__0__Impl_in_rule__NamedArgument__Group_2_1__013481);
            rule__NamedArgument__Group_2_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__1_in_rule__NamedArgument__Group_2_1__013484);
            rule__NamedArgument__Group_2_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__0


    // $ANTLR start rule__NamedArgument__Group_2_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6590:1: rule__NamedArgument__Group_2_1__0__Impl : ( 'struct' ) ;
    public final void rule__NamedArgument__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6594:1: ( ( 'struct' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6595:1: ( 'struct' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6595:1: ( 'struct' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6596:1: 'struct'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getStructKeyword_2_1_0()); 
            }
            match(input,66,FollowSets000.FOLLOW_66_in_rule__NamedArgument__Group_2_1__0__Impl13512); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getStructKeyword_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__0__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6609:1: rule__NamedArgument__Group_2_1__1 : rule__NamedArgument__Group_2_1__1__Impl rule__NamedArgument__Group_2_1__2 ;
    public final void rule__NamedArgument__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6613:1: ( rule__NamedArgument__Group_2_1__1__Impl rule__NamedArgument__Group_2_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6614:2: rule__NamedArgument__Group_2_1__1__Impl rule__NamedArgument__Group_2_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__1__Impl_in_rule__NamedArgument__Group_2_1__113543);
            rule__NamedArgument__Group_2_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__2_in_rule__NamedArgument__Group_2_1__113546);
            rule__NamedArgument__Group_2_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__1


    // $ANTLR start rule__NamedArgument__Group_2_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6621:1: rule__NamedArgument__Group_2_1__1__Impl : ( '{' ) ;
    public final void rule__NamedArgument__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6625:1: ( ( '{' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6626:1: ( '{' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6626:1: ( '{' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6627:1: '{'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getLeftCurlyBracketKeyword_2_1_1()); 
            }
            match(input,54,FollowSets000.FOLLOW_54_in_rule__NamedArgument__Group_2_1__1__Impl13574); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getLeftCurlyBracketKeyword_2_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__1__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6640:1: rule__NamedArgument__Group_2_1__2 : rule__NamedArgument__Group_2_1__2__Impl rule__NamedArgument__Group_2_1__3 ;
    public final void rule__NamedArgument__Group_2_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6644:1: ( rule__NamedArgument__Group_2_1__2__Impl rule__NamedArgument__Group_2_1__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6645:2: rule__NamedArgument__Group_2_1__2__Impl rule__NamedArgument__Group_2_1__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__2__Impl_in_rule__NamedArgument__Group_2_1__213605);
            rule__NamedArgument__Group_2_1__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__3_in_rule__NamedArgument__Group_2_1__213608);
            rule__NamedArgument__Group_2_1__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__2


    // $ANTLR start rule__NamedArgument__Group_2_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6652:1: rule__NamedArgument__Group_2_1__2__Impl : ( ( rule__NamedArgument__Group_2_1_2__0 )? ) ;
    public final void rule__NamedArgument__Group_2_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6656:1: ( ( ( rule__NamedArgument__Group_2_1_2__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6657:1: ( ( rule__NamedArgument__Group_2_1_2__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6657:1: ( ( rule__NamedArgument__Group_2_1_2__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6658:1: ( rule__NamedArgument__Group_2_1_2__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getGroup_2_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6659:1: ( rule__NamedArgument__Group_2_1_2__0 )?
            int alt51=2;
            int LA51_0 = input.LA(1);

            if ( ((LA51_0>=RULE_ID && LA51_0<=RULE_INT)||(LA51_0>=36 && LA51_0<=43)||LA51_0==48||LA51_0==54||LA51_0==61||LA51_0==67||LA51_0==69||LA51_0==82||(LA51_0>=84 && LA51_0<=88)) ) {
                alt51=1;
            }
            switch (alt51) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6659:2: rule__NamedArgument__Group_2_1_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2__0_in_rule__NamedArgument__Group_2_1__2__Impl13635);
                    rule__NamedArgument__Group_2_1_2__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getGroup_2_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__2__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6669:1: rule__NamedArgument__Group_2_1__3 : rule__NamedArgument__Group_2_1__3__Impl ;
    public final void rule__NamedArgument__Group_2_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6673:1: ( rule__NamedArgument__Group_2_1__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6674:2: rule__NamedArgument__Group_2_1__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1__3__Impl_in_rule__NamedArgument__Group_2_1__313666);
            rule__NamedArgument__Group_2_1__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__3


    // $ANTLR start rule__NamedArgument__Group_2_1__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6680:1: rule__NamedArgument__Group_2_1__3__Impl : ( '}' ) ;
    public final void rule__NamedArgument__Group_2_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6684:1: ( ( '}' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6685:1: ( '}' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6685:1: ( '}' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6686:1: '}'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getRightCurlyBracketKeyword_2_1_3()); 
            }
            match(input,55,FollowSets000.FOLLOW_55_in_rule__NamedArgument__Group_2_1__3__Impl13694); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getRightCurlyBracketKeyword_2_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1__3__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6707:1: rule__NamedArgument__Group_2_1_2__0 : rule__NamedArgument__Group_2_1_2__0__Impl rule__NamedArgument__Group_2_1_2__1 ;
    public final void rule__NamedArgument__Group_2_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6711:1: ( rule__NamedArgument__Group_2_1_2__0__Impl rule__NamedArgument__Group_2_1_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6712:2: rule__NamedArgument__Group_2_1_2__0__Impl rule__NamedArgument__Group_2_1_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2__0__Impl_in_rule__NamedArgument__Group_2_1_2__013733);
            rule__NamedArgument__Group_2_1_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2__1_in_rule__NamedArgument__Group_2_1_2__013736);
            rule__NamedArgument__Group_2_1_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2__0


    // $ANTLR start rule__NamedArgument__Group_2_1_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6719:1: rule__NamedArgument__Group_2_1_2__0__Impl : ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_0 ) ) ;
    public final void rule__NamedArgument__Group_2_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6723:1: ( ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6724:1: ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6724:1: ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6725:1: ( rule__NamedArgument__ChildrenAssignment_2_1_2_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getChildrenAssignment_2_1_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6726:1: ( rule__NamedArgument__ChildrenAssignment_2_1_2_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6726:2: rule__NamedArgument__ChildrenAssignment_2_1_2_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__ChildrenAssignment_2_1_2_0_in_rule__NamedArgument__Group_2_1_2__0__Impl13763);
            rule__NamedArgument__ChildrenAssignment_2_1_2_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getChildrenAssignment_2_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2__0__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6736:1: rule__NamedArgument__Group_2_1_2__1 : rule__NamedArgument__Group_2_1_2__1__Impl ;
    public final void rule__NamedArgument__Group_2_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6740:1: ( rule__NamedArgument__Group_2_1_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6741:2: rule__NamedArgument__Group_2_1_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2__1__Impl_in_rule__NamedArgument__Group_2_1_2__113793);
            rule__NamedArgument__Group_2_1_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2__1


    // $ANTLR start rule__NamedArgument__Group_2_1_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6747:1: rule__NamedArgument__Group_2_1_2__1__Impl : ( ( rule__NamedArgument__Group_2_1_2_1__0 )* ) ;
    public final void rule__NamedArgument__Group_2_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6751:1: ( ( ( rule__NamedArgument__Group_2_1_2_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6752:1: ( ( rule__NamedArgument__Group_2_1_2_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6752:1: ( ( rule__NamedArgument__Group_2_1_2_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6753:1: ( rule__NamedArgument__Group_2_1_2_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getGroup_2_1_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6754:1: ( rule__NamedArgument__Group_2_1_2_1__0 )*
            loop52:
            do {
                int alt52=2;
                int LA52_0 = input.LA(1);

                if ( (LA52_0==51) ) {
                    alt52=1;
                }


                switch (alt52) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6754:2: rule__NamedArgument__Group_2_1_2_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2_1__0_in_rule__NamedArgument__Group_2_1_2__1__Impl13820);
            	    rule__NamedArgument__Group_2_1_2_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop52;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getGroup_2_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2__1__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1_2_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6768:1: rule__NamedArgument__Group_2_1_2_1__0 : rule__NamedArgument__Group_2_1_2_1__0__Impl rule__NamedArgument__Group_2_1_2_1__1 ;
    public final void rule__NamedArgument__Group_2_1_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6772:1: ( rule__NamedArgument__Group_2_1_2_1__0__Impl rule__NamedArgument__Group_2_1_2_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6773:2: rule__NamedArgument__Group_2_1_2_1__0__Impl rule__NamedArgument__Group_2_1_2_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2_1__0__Impl_in_rule__NamedArgument__Group_2_1_2_1__013855);
            rule__NamedArgument__Group_2_1_2_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2_1__1_in_rule__NamedArgument__Group_2_1_2_1__013858);
            rule__NamedArgument__Group_2_1_2_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2_1__0


    // $ANTLR start rule__NamedArgument__Group_2_1_2_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6780:1: rule__NamedArgument__Group_2_1_2_1__0__Impl : ( ',' ) ;
    public final void rule__NamedArgument__Group_2_1_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6784:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6785:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6785:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6786:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getCommaKeyword_2_1_2_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__NamedArgument__Group_2_1_2_1__0__Impl13886); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getCommaKeyword_2_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2_1__0__Impl


    // $ANTLR start rule__NamedArgument__Group_2_1_2_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6799:1: rule__NamedArgument__Group_2_1_2_1__1 : rule__NamedArgument__Group_2_1_2_1__1__Impl ;
    public final void rule__NamedArgument__Group_2_1_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6803:1: ( rule__NamedArgument__Group_2_1_2_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6804:2: rule__NamedArgument__Group_2_1_2_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__Group_2_1_2_1__1__Impl_in_rule__NamedArgument__Group_2_1_2_1__113917);
            rule__NamedArgument__Group_2_1_2_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2_1__1


    // $ANTLR start rule__NamedArgument__Group_2_1_2_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6810:1: rule__NamedArgument__Group_2_1_2_1__1__Impl : ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_1_1 ) ) ;
    public final void rule__NamedArgument__Group_2_1_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6814:1: ( ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6815:1: ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6815:1: ( ( rule__NamedArgument__ChildrenAssignment_2_1_2_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6816:1: ( rule__NamedArgument__ChildrenAssignment_2_1_2_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getChildrenAssignment_2_1_2_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6817:1: ( rule__NamedArgument__ChildrenAssignment_2_1_2_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6817:2: rule__NamedArgument__ChildrenAssignment_2_1_2_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedArgument__ChildrenAssignment_2_1_2_1_1_in_rule__NamedArgument__Group_2_1_2_1__1__Impl13944);
            rule__NamedArgument__ChildrenAssignment_2_1_2_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getChildrenAssignment_2_1_2_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__Group_2_1_2_1__1__Impl


    // $ANTLR start rule__Expression__Group_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6831:1: rule__Expression__Group_0__0 : rule__Expression__Group_0__0__Impl rule__Expression__Group_0__1 ;
    public final void rule__Expression__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6835:1: ( rule__Expression__Group_0__0__Impl rule__Expression__Group_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6836:2: rule__Expression__Group_0__0__Impl rule__Expression__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0__0__Impl_in_rule__Expression__Group_0__013978);
            rule__Expression__Group_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0__1_in_rule__Expression__Group_0__013981);
            rule__Expression__Group_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0__0


    // $ANTLR start rule__Expression__Group_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6843:1: rule__Expression__Group_0__0__Impl : ( ruleSimpleExpression ) ;
    public final void rule__Expression__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6847:1: ( ( ruleSimpleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6848:1: ( ruleSimpleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6848:1: ( ruleSimpleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6849:1: ruleSimpleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getSimpleExpressionParserRuleCall_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleSimpleExpression_in_rule__Expression__Group_0__0__Impl14008);
            ruleSimpleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getSimpleExpressionParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0__0__Impl


    // $ANTLR start rule__Expression__Group_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6860:1: rule__Expression__Group_0__1 : rule__Expression__Group_0__1__Impl ;
    public final void rule__Expression__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6864:1: ( rule__Expression__Group_0__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6865:2: rule__Expression__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0__1__Impl_in_rule__Expression__Group_0__114037);
            rule__Expression__Group_0__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0__1


    // $ANTLR start rule__Expression__Group_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6871:1: rule__Expression__Group_0__1__Impl : ( ( rule__Expression__Group_0_1__0 )? ) ;
    public final void rule__Expression__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6875:1: ( ( ( rule__Expression__Group_0_1__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6876:1: ( ( rule__Expression__Group_0_1__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6876:1: ( ( rule__Expression__Group_0_1__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6877:1: ( rule__Expression__Group_0_1__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getGroup_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6878:1: ( rule__Expression__Group_0_1__0 )?
            int alt53=2;
            int LA53_0 = input.LA(1);

            if ( (LA53_0==81) ) {
                int LA53_1 = input.LA(2);

                if ( (synpred89()) ) {
                    alt53=1;
                }
            }
            switch (alt53) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6878:2: rule__Expression__Group_0_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__0_in_rule__Expression__Group_0__1__Impl14064);
                    rule__Expression__Group_0_1__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getGroup_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0__1__Impl


    // $ANTLR start rule__Expression__Group_0_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6892:1: rule__Expression__Group_0_1__0 : rule__Expression__Group_0_1__0__Impl rule__Expression__Group_0_1__1 ;
    public final void rule__Expression__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6896:1: ( rule__Expression__Group_0_1__0__Impl rule__Expression__Group_0_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6897:2: rule__Expression__Group_0_1__0__Impl rule__Expression__Group_0_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__0__Impl_in_rule__Expression__Group_0_1__014099);
            rule__Expression__Group_0_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__1_in_rule__Expression__Group_0_1__014102);
            rule__Expression__Group_0_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__0


    // $ANTLR start rule__Expression__Group_0_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6904:1: rule__Expression__Group_0_1__0__Impl : ( () ) ;
    public final void rule__Expression__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6908:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6909:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6909:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6910:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getExpressionChildrenAction_0_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6911:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6913:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getExpressionChildrenAction_0_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__0__Impl


    // $ANTLR start rule__Expression__Group_0_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6923:1: rule__Expression__Group_0_1__1 : rule__Expression__Group_0_1__1__Impl rule__Expression__Group_0_1__2 ;
    public final void rule__Expression__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6927:1: ( rule__Expression__Group_0_1__1__Impl rule__Expression__Group_0_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6928:2: rule__Expression__Group_0_1__1__Impl rule__Expression__Group_0_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__1__Impl_in_rule__Expression__Group_0_1__114160);
            rule__Expression__Group_0_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__2_in_rule__Expression__Group_0_1__114163);
            rule__Expression__Group_0_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__1


    // $ANTLR start rule__Expression__Group_0_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6935:1: rule__Expression__Group_0_1__1__Impl : ( ( rule__Expression__OperatorAssignment_0_1_1 ) ) ;
    public final void rule__Expression__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6939:1: ( ( ( rule__Expression__OperatorAssignment_0_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6940:1: ( ( rule__Expression__OperatorAssignment_0_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6940:1: ( ( rule__Expression__OperatorAssignment_0_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6941:1: ( rule__Expression__OperatorAssignment_0_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getOperatorAssignment_0_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6942:1: ( rule__Expression__OperatorAssignment_0_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6942:2: rule__Expression__OperatorAssignment_0_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__OperatorAssignment_0_1_1_in_rule__Expression__Group_0_1__1__Impl14190);
            rule__Expression__OperatorAssignment_0_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getOperatorAssignment_0_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__1__Impl


    // $ANTLR start rule__Expression__Group_0_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6952:1: rule__Expression__Group_0_1__2 : rule__Expression__Group_0_1__2__Impl rule__Expression__Group_0_1__3 ;
    public final void rule__Expression__Group_0_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6956:1: ( rule__Expression__Group_0_1__2__Impl rule__Expression__Group_0_1__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6957:2: rule__Expression__Group_0_1__2__Impl rule__Expression__Group_0_1__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__2__Impl_in_rule__Expression__Group_0_1__214220);
            rule__Expression__Group_0_1__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__3_in_rule__Expression__Group_0_1__214223);
            rule__Expression__Group_0_1__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__2


    // $ANTLR start rule__Expression__Group_0_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6964:1: rule__Expression__Group_0_1__2__Impl : ( ( rule__Expression__ChildrenAssignment_0_1_2 ) ) ;
    public final void rule__Expression__Group_0_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6968:1: ( ( ( rule__Expression__ChildrenAssignment_0_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6969:1: ( ( rule__Expression__ChildrenAssignment_0_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6969:1: ( ( rule__Expression__ChildrenAssignment_0_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6970:1: ( rule__Expression__ChildrenAssignment_0_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getChildrenAssignment_0_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6971:1: ( rule__Expression__ChildrenAssignment_0_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6971:2: rule__Expression__ChildrenAssignment_0_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__ChildrenAssignment_0_1_2_in_rule__Expression__Group_0_1__2__Impl14250);
            rule__Expression__ChildrenAssignment_0_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getChildrenAssignment_0_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__2__Impl


    // $ANTLR start rule__Expression__Group_0_1__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6981:1: rule__Expression__Group_0_1__3 : rule__Expression__Group_0_1__3__Impl rule__Expression__Group_0_1__4 ;
    public final void rule__Expression__Group_0_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6985:1: ( rule__Expression__Group_0_1__3__Impl rule__Expression__Group_0_1__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6986:2: rule__Expression__Group_0_1__3__Impl rule__Expression__Group_0_1__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__3__Impl_in_rule__Expression__Group_0_1__314280);
            rule__Expression__Group_0_1__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__4_in_rule__Expression__Group_0_1__314283);
            rule__Expression__Group_0_1__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__3


    // $ANTLR start rule__Expression__Group_0_1__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6993:1: rule__Expression__Group_0_1__3__Impl : ( ':' ) ;
    public final void rule__Expression__Group_0_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6997:1: ( ( ':' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6998:1: ( ':' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6998:1: ( ':' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6999:1: ':'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getColonKeyword_0_1_3()); 
            }
            match(input,50,FollowSets000.FOLLOW_50_in_rule__Expression__Group_0_1__3__Impl14311); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getColonKeyword_0_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__3__Impl


    // $ANTLR start rule__Expression__Group_0_1__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7012:1: rule__Expression__Group_0_1__4 : rule__Expression__Group_0_1__4__Impl ;
    public final void rule__Expression__Group_0_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7016:1: ( rule__Expression__Group_0_1__4__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7017:2: rule__Expression__Group_0_1__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__4__Impl_in_rule__Expression__Group_0_1__414342);
            rule__Expression__Group_0_1__4__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__4


    // $ANTLR start rule__Expression__Group_0_1__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7023:1: rule__Expression__Group_0_1__4__Impl : ( ( rule__Expression__ChildrenAssignment_0_1_4 ) ) ;
    public final void rule__Expression__Group_0_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7027:1: ( ( ( rule__Expression__ChildrenAssignment_0_1_4 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7028:1: ( ( rule__Expression__ChildrenAssignment_0_1_4 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7028:1: ( ( rule__Expression__ChildrenAssignment_0_1_4 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7029:1: ( rule__Expression__ChildrenAssignment_0_1_4 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getChildrenAssignment_0_1_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7030:1: ( rule__Expression__ChildrenAssignment_0_1_4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7030:2: rule__Expression__ChildrenAssignment_0_1_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Expression__ChildrenAssignment_0_1_4_in_rule__Expression__Group_0_1__4__Impl14369);
            rule__Expression__ChildrenAssignment_0_1_4();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getChildrenAssignment_0_1_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Group_0_1__4__Impl


    // $ANTLR start rule__SimpleExpression__Group_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7050:1: rule__SimpleExpression__Group_0__0 : rule__SimpleExpression__Group_0__0__Impl rule__SimpleExpression__Group_0__1 ;
    public final void rule__SimpleExpression__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7054:1: ( rule__SimpleExpression__Group_0__0__Impl rule__SimpleExpression__Group_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7055:2: rule__SimpleExpression__Group_0__0__Impl rule__SimpleExpression__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0__0__Impl_in_rule__SimpleExpression__Group_0__014409);
            rule__SimpleExpression__Group_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0__1_in_rule__SimpleExpression__Group_0__014412);
            rule__SimpleExpression__Group_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0__0


    // $ANTLR start rule__SimpleExpression__Group_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7062:1: rule__SimpleExpression__Group_0__0__Impl : ( ruleBooleanExpression ) ;
    public final void rule__SimpleExpression__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7066:1: ( ( ruleBooleanExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7067:1: ( ruleBooleanExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7067:1: ( ruleBooleanExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7068:1: ruleBooleanExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getBooleanExpressionParserRuleCall_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_rule__SimpleExpression__Group_0__0__Impl14439);
            ruleBooleanExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getBooleanExpressionParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0__0__Impl


    // $ANTLR start rule__SimpleExpression__Group_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7079:1: rule__SimpleExpression__Group_0__1 : rule__SimpleExpression__Group_0__1__Impl ;
    public final void rule__SimpleExpression__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7083:1: ( rule__SimpleExpression__Group_0__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7084:2: rule__SimpleExpression__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0__1__Impl_in_rule__SimpleExpression__Group_0__114468);
            rule__SimpleExpression__Group_0__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0__1


    // $ANTLR start rule__SimpleExpression__Group_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7090:1: rule__SimpleExpression__Group_0__1__Impl : ( ( rule__SimpleExpression__Group_0_1__0 )? ) ;
    public final void rule__SimpleExpression__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7094:1: ( ( ( rule__SimpleExpression__Group_0_1__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7095:1: ( ( rule__SimpleExpression__Group_0_1__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7095:1: ( ( rule__SimpleExpression__Group_0_1__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7096:1: ( rule__SimpleExpression__Group_0_1__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getGroup_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7097:1: ( rule__SimpleExpression__Group_0_1__0 )?
            int alt54=2;
            int LA54_0 = input.LA(1);

            if ( (LA54_0==53) ) {
                int LA54_1 = input.LA(2);

                if ( (synpred90()) ) {
                    alt54=1;
                }
            }
            switch (alt54) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7097:2: rule__SimpleExpression__Group_0_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0_1__0_in_rule__SimpleExpression__Group_0__1__Impl14495);
                    rule__SimpleExpression__Group_0_1__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getGroup_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0__1__Impl


    // $ANTLR start rule__SimpleExpression__Group_0_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7111:1: rule__SimpleExpression__Group_0_1__0 : rule__SimpleExpression__Group_0_1__0__Impl rule__SimpleExpression__Group_0_1__1 ;
    public final void rule__SimpleExpression__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7115:1: ( rule__SimpleExpression__Group_0_1__0__Impl rule__SimpleExpression__Group_0_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7116:2: rule__SimpleExpression__Group_0_1__0__Impl rule__SimpleExpression__Group_0_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0_1__0__Impl_in_rule__SimpleExpression__Group_0_1__014530);
            rule__SimpleExpression__Group_0_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0_1__1_in_rule__SimpleExpression__Group_0_1__014533);
            rule__SimpleExpression__Group_0_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0_1__0


    // $ANTLR start rule__SimpleExpression__Group_0_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7123:1: rule__SimpleExpression__Group_0_1__0__Impl : ( () ) ;
    public final void rule__SimpleExpression__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7127:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7128:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7128:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7129:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getExpressionChildrenAction_0_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7130:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7132:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getExpressionChildrenAction_0_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0_1__0__Impl


    // $ANTLR start rule__SimpleExpression__Group_0_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7142:1: rule__SimpleExpression__Group_0_1__1 : rule__SimpleExpression__Group_0_1__1__Impl rule__SimpleExpression__Group_0_1__2 ;
    public final void rule__SimpleExpression__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7146:1: ( rule__SimpleExpression__Group_0_1__1__Impl rule__SimpleExpression__Group_0_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7147:2: rule__SimpleExpression__Group_0_1__1__Impl rule__SimpleExpression__Group_0_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0_1__1__Impl_in_rule__SimpleExpression__Group_0_1__114591);
            rule__SimpleExpression__Group_0_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0_1__2_in_rule__SimpleExpression__Group_0_1__114594);
            rule__SimpleExpression__Group_0_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0_1__1


    // $ANTLR start rule__SimpleExpression__Group_0_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7154:1: rule__SimpleExpression__Group_0_1__1__Impl : ( ( rule__SimpleExpression__OperatorAssignment_0_1_1 ) ) ;
    public final void rule__SimpleExpression__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7158:1: ( ( ( rule__SimpleExpression__OperatorAssignment_0_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7159:1: ( ( rule__SimpleExpression__OperatorAssignment_0_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7159:1: ( ( rule__SimpleExpression__OperatorAssignment_0_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7160:1: ( rule__SimpleExpression__OperatorAssignment_0_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getOperatorAssignment_0_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7161:1: ( rule__SimpleExpression__OperatorAssignment_0_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7161:2: rule__SimpleExpression__OperatorAssignment_0_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__OperatorAssignment_0_1_1_in_rule__SimpleExpression__Group_0_1__1__Impl14621);
            rule__SimpleExpression__OperatorAssignment_0_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getOperatorAssignment_0_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0_1__1__Impl


    // $ANTLR start rule__SimpleExpression__Group_0_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7171:1: rule__SimpleExpression__Group_0_1__2 : rule__SimpleExpression__Group_0_1__2__Impl ;
    public final void rule__SimpleExpression__Group_0_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7175:1: ( rule__SimpleExpression__Group_0_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7176:2: rule__SimpleExpression__Group_0_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0_1__2__Impl_in_rule__SimpleExpression__Group_0_1__214651);
            rule__SimpleExpression__Group_0_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0_1__2


    // $ANTLR start rule__SimpleExpression__Group_0_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7182:1: rule__SimpleExpression__Group_0_1__2__Impl : ( ( rule__SimpleExpression__ChildrenAssignment_0_1_2 ) ) ;
    public final void rule__SimpleExpression__Group_0_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7186:1: ( ( ( rule__SimpleExpression__ChildrenAssignment_0_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7187:1: ( ( rule__SimpleExpression__ChildrenAssignment_0_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7187:1: ( ( rule__SimpleExpression__ChildrenAssignment_0_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7188:1: ( rule__SimpleExpression__ChildrenAssignment_0_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getChildrenAssignment_0_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7189:1: ( rule__SimpleExpression__ChildrenAssignment_0_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7189:2: rule__SimpleExpression__ChildrenAssignment_0_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__ChildrenAssignment_0_1_2_in_rule__SimpleExpression__Group_0_1__2__Impl14678);
            rule__SimpleExpression__ChildrenAssignment_0_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getChildrenAssignment_0_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__Group_0_1__2__Impl


    // $ANTLR start rule__ArrayExpression__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7205:1: rule__ArrayExpression__Group__0 : rule__ArrayExpression__Group__0__Impl rule__ArrayExpression__Group__1 ;
    public final void rule__ArrayExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7209:1: ( rule__ArrayExpression__Group__0__Impl rule__ArrayExpression__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7210:2: rule__ArrayExpression__Group__0__Impl rule__ArrayExpression__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__0__Impl_in_rule__ArrayExpression__Group__014714);
            rule__ArrayExpression__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__1_in_rule__ArrayExpression__Group__014717);
            rule__ArrayExpression__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__0


    // $ANTLR start rule__ArrayExpression__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7217:1: rule__ArrayExpression__Group__0__Impl : ( () ) ;
    public final void rule__ArrayExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7221:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7222:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7222:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7223:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getExpressionAction_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7224:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7226:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getExpressionAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__0__Impl


    // $ANTLR start rule__ArrayExpression__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7236:1: rule__ArrayExpression__Group__1 : rule__ArrayExpression__Group__1__Impl rule__ArrayExpression__Group__2 ;
    public final void rule__ArrayExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7240:1: ( rule__ArrayExpression__Group__1__Impl rule__ArrayExpression__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7241:2: rule__ArrayExpression__Group__1__Impl rule__ArrayExpression__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__1__Impl_in_rule__ArrayExpression__Group__114775);
            rule__ArrayExpression__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__2_in_rule__ArrayExpression__Group__114778);
            rule__ArrayExpression__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__1


    // $ANTLR start rule__ArrayExpression__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7248:1: rule__ArrayExpression__Group__1__Impl : ( ( rule__ArrayExpression__OperatorAssignment_1 ) ) ;
    public final void rule__ArrayExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7252:1: ( ( ( rule__ArrayExpression__OperatorAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7253:1: ( ( rule__ArrayExpression__OperatorAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7253:1: ( ( rule__ArrayExpression__OperatorAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7254:1: ( rule__ArrayExpression__OperatorAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getOperatorAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7255:1: ( rule__ArrayExpression__OperatorAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7255:2: rule__ArrayExpression__OperatorAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__OperatorAssignment_1_in_rule__ArrayExpression__Group__1__Impl14805);
            rule__ArrayExpression__OperatorAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getOperatorAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__1__Impl


    // $ANTLR start rule__ArrayExpression__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7265:1: rule__ArrayExpression__Group__2 : rule__ArrayExpression__Group__2__Impl rule__ArrayExpression__Group__3 ;
    public final void rule__ArrayExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7269:1: ( rule__ArrayExpression__Group__2__Impl rule__ArrayExpression__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7270:2: rule__ArrayExpression__Group__2__Impl rule__ArrayExpression__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__2__Impl_in_rule__ArrayExpression__Group__214835);
            rule__ArrayExpression__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__3_in_rule__ArrayExpression__Group__214838);
            rule__ArrayExpression__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__2


    // $ANTLR start rule__ArrayExpression__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7277:1: rule__ArrayExpression__Group__2__Impl : ( ( rule__ArrayExpression__Group_2__0 )? ) ;
    public final void rule__ArrayExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7281:1: ( ( ( rule__ArrayExpression__Group_2__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7282:1: ( ( rule__ArrayExpression__Group_2__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7282:1: ( ( rule__ArrayExpression__Group_2__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7283:1: ( rule__ArrayExpression__Group_2__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getGroup_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7284:1: ( rule__ArrayExpression__Group_2__0 )?
            int alt55=2;
            int LA55_0 = input.LA(1);

            if ( ((LA55_0>=RULE_ID && LA55_0<=RULE_INT)||(LA55_0>=36 && LA55_0<=43)||LA55_0==48||LA55_0==54||LA55_0==61||LA55_0==67||LA55_0==69||LA55_0==82||(LA55_0>=84 && LA55_0<=88)) ) {
                alt55=1;
            }
            switch (alt55) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7284:2: rule__ArrayExpression__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2__0_in_rule__ArrayExpression__Group__2__Impl14865);
                    rule__ArrayExpression__Group_2__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__2__Impl


    // $ANTLR start rule__ArrayExpression__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7294:1: rule__ArrayExpression__Group__3 : rule__ArrayExpression__Group__3__Impl ;
    public final void rule__ArrayExpression__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7298:1: ( rule__ArrayExpression__Group__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7299:2: rule__ArrayExpression__Group__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group__3__Impl_in_rule__ArrayExpression__Group__314896);
            rule__ArrayExpression__Group__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__3


    // $ANTLR start rule__ArrayExpression__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7305:1: rule__ArrayExpression__Group__3__Impl : ( '}' ) ;
    public final void rule__ArrayExpression__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7309:1: ( ( '}' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7310:1: ( '}' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7310:1: ( '}' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7311:1: '}'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getRightCurlyBracketKeyword_3()); 
            }
            match(input,55,FollowSets000.FOLLOW_55_in_rule__ArrayExpression__Group__3__Impl14924); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getRightCurlyBracketKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group__3__Impl


    // $ANTLR start rule__ArrayExpression__Group_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7332:1: rule__ArrayExpression__Group_2__0 : rule__ArrayExpression__Group_2__0__Impl rule__ArrayExpression__Group_2__1 ;
    public final void rule__ArrayExpression__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7336:1: ( rule__ArrayExpression__Group_2__0__Impl rule__ArrayExpression__Group_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7337:2: rule__ArrayExpression__Group_2__0__Impl rule__ArrayExpression__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2__0__Impl_in_rule__ArrayExpression__Group_2__014963);
            rule__ArrayExpression__Group_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2__1_in_rule__ArrayExpression__Group_2__014966);
            rule__ArrayExpression__Group_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2__0


    // $ANTLR start rule__ArrayExpression__Group_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7344:1: rule__ArrayExpression__Group_2__0__Impl : ( ( rule__ArrayExpression__ChildrenAssignment_2_0 ) ) ;
    public final void rule__ArrayExpression__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7348:1: ( ( ( rule__ArrayExpression__ChildrenAssignment_2_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7349:1: ( ( rule__ArrayExpression__ChildrenAssignment_2_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7349:1: ( ( rule__ArrayExpression__ChildrenAssignment_2_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7350:1: ( rule__ArrayExpression__ChildrenAssignment_2_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getChildrenAssignment_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7351:1: ( rule__ArrayExpression__ChildrenAssignment_2_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7351:2: rule__ArrayExpression__ChildrenAssignment_2_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__ChildrenAssignment_2_0_in_rule__ArrayExpression__Group_2__0__Impl14993);
            rule__ArrayExpression__ChildrenAssignment_2_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getChildrenAssignment_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2__0__Impl


    // $ANTLR start rule__ArrayExpression__Group_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7361:1: rule__ArrayExpression__Group_2__1 : rule__ArrayExpression__Group_2__1__Impl ;
    public final void rule__ArrayExpression__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7365:1: ( rule__ArrayExpression__Group_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7366:2: rule__ArrayExpression__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2__1__Impl_in_rule__ArrayExpression__Group_2__115023);
            rule__ArrayExpression__Group_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2__1


    // $ANTLR start rule__ArrayExpression__Group_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7372:1: rule__ArrayExpression__Group_2__1__Impl : ( ( rule__ArrayExpression__Group_2_1__0 )* ) ;
    public final void rule__ArrayExpression__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7376:1: ( ( ( rule__ArrayExpression__Group_2_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7377:1: ( ( rule__ArrayExpression__Group_2_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7377:1: ( ( rule__ArrayExpression__Group_2_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7378:1: ( rule__ArrayExpression__Group_2_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getGroup_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7379:1: ( rule__ArrayExpression__Group_2_1__0 )*
            loop56:
            do {
                int alt56=2;
                int LA56_0 = input.LA(1);

                if ( (LA56_0==51) ) {
                    alt56=1;
                }


                switch (alt56) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7379:2: rule__ArrayExpression__Group_2_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2_1__0_in_rule__ArrayExpression__Group_2__1__Impl15050);
            	    rule__ArrayExpression__Group_2_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop56;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getGroup_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2__1__Impl


    // $ANTLR start rule__ArrayExpression__Group_2_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7393:1: rule__ArrayExpression__Group_2_1__0 : rule__ArrayExpression__Group_2_1__0__Impl rule__ArrayExpression__Group_2_1__1 ;
    public final void rule__ArrayExpression__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7397:1: ( rule__ArrayExpression__Group_2_1__0__Impl rule__ArrayExpression__Group_2_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7398:2: rule__ArrayExpression__Group_2_1__0__Impl rule__ArrayExpression__Group_2_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2_1__0__Impl_in_rule__ArrayExpression__Group_2_1__015085);
            rule__ArrayExpression__Group_2_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2_1__1_in_rule__ArrayExpression__Group_2_1__015088);
            rule__ArrayExpression__Group_2_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2_1__0


    // $ANTLR start rule__ArrayExpression__Group_2_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7405:1: rule__ArrayExpression__Group_2_1__0__Impl : ( ',' ) ;
    public final void rule__ArrayExpression__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7409:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7410:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7410:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7411:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__ArrayExpression__Group_2_1__0__Impl15116); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2_1__0__Impl


    // $ANTLR start rule__ArrayExpression__Group_2_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7424:1: rule__ArrayExpression__Group_2_1__1 : rule__ArrayExpression__Group_2_1__1__Impl ;
    public final void rule__ArrayExpression__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7428:1: ( rule__ArrayExpression__Group_2_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7429:2: rule__ArrayExpression__Group_2_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__Group_2_1__1__Impl_in_rule__ArrayExpression__Group_2_1__115147);
            rule__ArrayExpression__Group_2_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2_1__1


    // $ANTLR start rule__ArrayExpression__Group_2_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7435:1: rule__ArrayExpression__Group_2_1__1__Impl : ( ( rule__ArrayExpression__ChildrenAssignment_2_1_1 ) ) ;
    public final void rule__ArrayExpression__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7439:1: ( ( ( rule__ArrayExpression__ChildrenAssignment_2_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7440:1: ( ( rule__ArrayExpression__ChildrenAssignment_2_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7440:1: ( ( rule__ArrayExpression__ChildrenAssignment_2_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7441:1: ( rule__ArrayExpression__ChildrenAssignment_2_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getChildrenAssignment_2_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7442:1: ( rule__ArrayExpression__ChildrenAssignment_2_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7442:2: rule__ArrayExpression__ChildrenAssignment_2_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ArrayExpression__ChildrenAssignment_2_1_1_in_rule__ArrayExpression__Group_2_1__1__Impl15174);
            rule__ArrayExpression__ChildrenAssignment_2_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getChildrenAssignment_2_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__Group_2_1__1__Impl


    // $ANTLR start rule__PatternExpression__Group_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7456:1: rule__PatternExpression__Group_2__0 : rule__PatternExpression__Group_2__0__Impl rule__PatternExpression__Group_2__1 ;
    public final void rule__PatternExpression__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7460:1: ( rule__PatternExpression__Group_2__0__Impl rule__PatternExpression__Group_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7461:2: rule__PatternExpression__Group_2__0__Impl rule__PatternExpression__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__0__Impl_in_rule__PatternExpression__Group_2__015208);
            rule__PatternExpression__Group_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__1_in_rule__PatternExpression__Group_2__015211);
            rule__PatternExpression__Group_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__0


    // $ANTLR start rule__PatternExpression__Group_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7468:1: rule__PatternExpression__Group_2__0__Impl : ( ( rule__PatternExpression__OperatorAssignment_2_0 ) ) ;
    public final void rule__PatternExpression__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7472:1: ( ( ( rule__PatternExpression__OperatorAssignment_2_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7473:1: ( ( rule__PatternExpression__OperatorAssignment_2_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7473:1: ( ( rule__PatternExpression__OperatorAssignment_2_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7474:1: ( rule__PatternExpression__OperatorAssignment_2_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getOperatorAssignment_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7475:1: ( rule__PatternExpression__OperatorAssignment_2_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7475:2: rule__PatternExpression__OperatorAssignment_2_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__OperatorAssignment_2_0_in_rule__PatternExpression__Group_2__0__Impl15238);
            rule__PatternExpression__OperatorAssignment_2_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getOperatorAssignment_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__0__Impl


    // $ANTLR start rule__PatternExpression__Group_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7485:1: rule__PatternExpression__Group_2__1 : rule__PatternExpression__Group_2__1__Impl rule__PatternExpression__Group_2__2 ;
    public final void rule__PatternExpression__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7489:1: ( rule__PatternExpression__Group_2__1__Impl rule__PatternExpression__Group_2__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7490:2: rule__PatternExpression__Group_2__1__Impl rule__PatternExpression__Group_2__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__1__Impl_in_rule__PatternExpression__Group_2__115268);
            rule__PatternExpression__Group_2__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__2_in_rule__PatternExpression__Group_2__115271);
            rule__PatternExpression__Group_2__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__1


    // $ANTLR start rule__PatternExpression__Group_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7497:1: rule__PatternExpression__Group_2__1__Impl : ( '(' ) ;
    public final void rule__PatternExpression__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7501:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7502:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7502:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7503:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getLeftParenthesisKeyword_2_1()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__PatternExpression__Group_2__1__Impl15299); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getLeftParenthesisKeyword_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__1__Impl


    // $ANTLR start rule__PatternExpression__Group_2__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7516:1: rule__PatternExpression__Group_2__2 : rule__PatternExpression__Group_2__2__Impl rule__PatternExpression__Group_2__3 ;
    public final void rule__PatternExpression__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7520:1: ( rule__PatternExpression__Group_2__2__Impl rule__PatternExpression__Group_2__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7521:2: rule__PatternExpression__Group_2__2__Impl rule__PatternExpression__Group_2__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__2__Impl_in_rule__PatternExpression__Group_2__215330);
            rule__PatternExpression__Group_2__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__3_in_rule__PatternExpression__Group_2__215333);
            rule__PatternExpression__Group_2__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__2


    // $ANTLR start rule__PatternExpression__Group_2__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7528:1: rule__PatternExpression__Group_2__2__Impl : ( ( rule__PatternExpression__ChildrenAssignment_2_2 ) ) ;
    public final void rule__PatternExpression__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7532:1: ( ( ( rule__PatternExpression__ChildrenAssignment_2_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7533:1: ( ( rule__PatternExpression__ChildrenAssignment_2_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7533:1: ( ( rule__PatternExpression__ChildrenAssignment_2_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7534:1: ( rule__PatternExpression__ChildrenAssignment_2_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getChildrenAssignment_2_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7535:1: ( rule__PatternExpression__ChildrenAssignment_2_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7535:2: rule__PatternExpression__ChildrenAssignment_2_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__ChildrenAssignment_2_2_in_rule__PatternExpression__Group_2__2__Impl15360);
            rule__PatternExpression__ChildrenAssignment_2_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getChildrenAssignment_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__2__Impl


    // $ANTLR start rule__PatternExpression__Group_2__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7545:1: rule__PatternExpression__Group_2__3 : rule__PatternExpression__Group_2__3__Impl ;
    public final void rule__PatternExpression__Group_2__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7549:1: ( rule__PatternExpression__Group_2__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7550:2: rule__PatternExpression__Group_2__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternExpression__Group_2__3__Impl_in_rule__PatternExpression__Group_2__315390);
            rule__PatternExpression__Group_2__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__3


    // $ANTLR start rule__PatternExpression__Group_2__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7556:1: rule__PatternExpression__Group_2__3__Impl : ( ')' ) ;
    public final void rule__PatternExpression__Group_2__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7560:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7561:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7561:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7562:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getRightParenthesisKeyword_2_3()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__PatternExpression__Group_2__3__Impl15418); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getRightParenthesisKeyword_2_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__Group_2__3__Impl


    // $ANTLR start rule__StatementExpression__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7583:1: rule__StatementExpression__Group__0 : rule__StatementExpression__Group__0__Impl rule__StatementExpression__Group__1 ;
    public final void rule__StatementExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7587:1: ( rule__StatementExpression__Group__0__Impl rule__StatementExpression__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7588:2: rule__StatementExpression__Group__0__Impl rule__StatementExpression__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__StatementExpression__Group__0__Impl_in_rule__StatementExpression__Group__015457);
            rule__StatementExpression__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__StatementExpression__Group__1_in_rule__StatementExpression__Group__015460);
            rule__StatementExpression__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__StatementExpression__Group__0


    // $ANTLR start rule__StatementExpression__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7595:1: rule__StatementExpression__Group__0__Impl : ( () ) ;
    public final void rule__StatementExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7599:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7600:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7600:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7601:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementExpressionAccess().getStatementExpressionAction_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7602:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7604:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getStatementExpressionAccess().getStatementExpressionAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__StatementExpression__Group__0__Impl


    // $ANTLR start rule__StatementExpression__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7614:1: rule__StatementExpression__Group__1 : rule__StatementExpression__Group__1__Impl rule__StatementExpression__Group__2 ;
    public final void rule__StatementExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7618:1: ( rule__StatementExpression__Group__1__Impl rule__StatementExpression__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7619:2: rule__StatementExpression__Group__1__Impl rule__StatementExpression__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__StatementExpression__Group__1__Impl_in_rule__StatementExpression__Group__115518);
            rule__StatementExpression__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__StatementExpression__Group__2_in_rule__StatementExpression__Group__115521);
            rule__StatementExpression__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__StatementExpression__Group__1


    // $ANTLR start rule__StatementExpression__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7626:1: rule__StatementExpression__Group__1__Impl : ( 'statement' ) ;
    public final void rule__StatementExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7630:1: ( ( 'statement' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7631:1: ( 'statement' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7631:1: ( 'statement' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7632:1: 'statement'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementExpressionAccess().getStatementKeyword_1()); 
            }
            match(input,67,FollowSets000.FOLLOW_67_in_rule__StatementExpression__Group__1__Impl15549); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementExpressionAccess().getStatementKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__StatementExpression__Group__1__Impl


    // $ANTLR start rule__StatementExpression__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7645:1: rule__StatementExpression__Group__2 : rule__StatementExpression__Group__2__Impl ;
    public final void rule__StatementExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7649:1: ( rule__StatementExpression__Group__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7650:2: rule__StatementExpression__Group__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__StatementExpression__Group__2__Impl_in_rule__StatementExpression__Group__215580);
            rule__StatementExpression__Group__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__StatementExpression__Group__2


    // $ANTLR start rule__StatementExpression__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7656:1: rule__StatementExpression__Group__2__Impl : ( ( rule__StatementExpression__ChildrenAssignment_2 ) ) ;
    public final void rule__StatementExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7660:1: ( ( ( rule__StatementExpression__ChildrenAssignment_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7661:1: ( ( rule__StatementExpression__ChildrenAssignment_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7661:1: ( ( rule__StatementExpression__ChildrenAssignment_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7662:1: ( rule__StatementExpression__ChildrenAssignment_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementExpressionAccess().getChildrenAssignment_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7663:1: ( rule__StatementExpression__ChildrenAssignment_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7663:2: rule__StatementExpression__ChildrenAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__StatementExpression__ChildrenAssignment_2_in_rule__StatementExpression__Group__2__Impl15607);
            rule__StatementExpression__ChildrenAssignment_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getStatementExpressionAccess().getChildrenAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__StatementExpression__Group__2__Impl


    // $ANTLR start rule__BooleanExpression__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7679:1: rule__BooleanExpression__Group__0 : rule__BooleanExpression__Group__0__Impl rule__BooleanExpression__Group__1 ;
    public final void rule__BooleanExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7683:1: ( rule__BooleanExpression__Group__0__Impl rule__BooleanExpression__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7684:2: rule__BooleanExpression__Group__0__Impl rule__BooleanExpression__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group__0__Impl_in_rule__BooleanExpression__Group__015643);
            rule__BooleanExpression__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group__1_in_rule__BooleanExpression__Group__015646);
            rule__BooleanExpression__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group__0


    // $ANTLR start rule__BooleanExpression__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7691:1: rule__BooleanExpression__Group__0__Impl : ( ruleBooleanTerm ) ;
    public final void rule__BooleanExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7695:1: ( ( ruleBooleanTerm ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7696:1: ( ruleBooleanTerm )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7696:1: ( ruleBooleanTerm )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7697:1: ruleBooleanTerm
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getBooleanTermParserRuleCall_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBooleanTerm_in_rule__BooleanExpression__Group__0__Impl15673);
            ruleBooleanTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getBooleanTermParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group__0__Impl


    // $ANTLR start rule__BooleanExpression__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7708:1: rule__BooleanExpression__Group__1 : rule__BooleanExpression__Group__1__Impl ;
    public final void rule__BooleanExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7712:1: ( rule__BooleanExpression__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7713:2: rule__BooleanExpression__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group__1__Impl_in_rule__BooleanExpression__Group__115702);
            rule__BooleanExpression__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group__1


    // $ANTLR start rule__BooleanExpression__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7719:1: rule__BooleanExpression__Group__1__Impl : ( ( rule__BooleanExpression__Group_1__0 )* ) ;
    public final void rule__BooleanExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7723:1: ( ( ( rule__BooleanExpression__Group_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7724:1: ( ( rule__BooleanExpression__Group_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7724:1: ( ( rule__BooleanExpression__Group_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7725:1: ( rule__BooleanExpression__Group_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getGroup_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7726:1: ( rule__BooleanExpression__Group_1__0 )*
            loop57:
            do {
                int alt57=2;
                int LA57_0 = input.LA(1);

                if ( (LA57_0==21) ) {
                    int LA57_5 = input.LA(2);

                    if ( (synpred93()) ) {
                        alt57=1;
                    }


                }
                else if ( (LA57_0==22) ) {
                    int LA57_6 = input.LA(2);

                    if ( (synpred93()) ) {
                        alt57=1;
                    }


                }


                switch (alt57) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7726:2: rule__BooleanExpression__Group_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group_1__0_in_rule__BooleanExpression__Group__1__Impl15729);
            	    rule__BooleanExpression__Group_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop57;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group__1__Impl


    // $ANTLR start rule__BooleanExpression__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7740:1: rule__BooleanExpression__Group_1__0 : rule__BooleanExpression__Group_1__0__Impl rule__BooleanExpression__Group_1__1 ;
    public final void rule__BooleanExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7744:1: ( rule__BooleanExpression__Group_1__0__Impl rule__BooleanExpression__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7745:2: rule__BooleanExpression__Group_1__0__Impl rule__BooleanExpression__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group_1__0__Impl_in_rule__BooleanExpression__Group_1__015764);
            rule__BooleanExpression__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group_1__1_in_rule__BooleanExpression__Group_1__015767);
            rule__BooleanExpression__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group_1__0


    // $ANTLR start rule__BooleanExpression__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7752:1: rule__BooleanExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__BooleanExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7756:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7757:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7757:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7758:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getExpressionChildrenAction_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7759:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7761:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getExpressionChildrenAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group_1__0__Impl


    // $ANTLR start rule__BooleanExpression__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7771:1: rule__BooleanExpression__Group_1__1 : rule__BooleanExpression__Group_1__1__Impl rule__BooleanExpression__Group_1__2 ;
    public final void rule__BooleanExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7775:1: ( rule__BooleanExpression__Group_1__1__Impl rule__BooleanExpression__Group_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7776:2: rule__BooleanExpression__Group_1__1__Impl rule__BooleanExpression__Group_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group_1__1__Impl_in_rule__BooleanExpression__Group_1__115825);
            rule__BooleanExpression__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group_1__2_in_rule__BooleanExpression__Group_1__115828);
            rule__BooleanExpression__Group_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group_1__1


    // $ANTLR start rule__BooleanExpression__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7783:1: rule__BooleanExpression__Group_1__1__Impl : ( ( rule__BooleanExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__BooleanExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7787:1: ( ( ( rule__BooleanExpression__OperatorAssignment_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7788:1: ( ( rule__BooleanExpression__OperatorAssignment_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7788:1: ( ( rule__BooleanExpression__OperatorAssignment_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7789:1: ( rule__BooleanExpression__OperatorAssignment_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7790:1: ( rule__BooleanExpression__OperatorAssignment_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7790:2: rule__BooleanExpression__OperatorAssignment_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__OperatorAssignment_1_1_in_rule__BooleanExpression__Group_1__1__Impl15855);
            rule__BooleanExpression__OperatorAssignment_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group_1__1__Impl


    // $ANTLR start rule__BooleanExpression__Group_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7800:1: rule__BooleanExpression__Group_1__2 : rule__BooleanExpression__Group_1__2__Impl ;
    public final void rule__BooleanExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7804:1: ( rule__BooleanExpression__Group_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7805:2: rule__BooleanExpression__Group_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group_1__2__Impl_in_rule__BooleanExpression__Group_1__215885);
            rule__BooleanExpression__Group_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group_1__2


    // $ANTLR start rule__BooleanExpression__Group_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7811:1: rule__BooleanExpression__Group_1__2__Impl : ( ( rule__BooleanExpression__ChildrenAssignment_1_2 ) ) ;
    public final void rule__BooleanExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7815:1: ( ( ( rule__BooleanExpression__ChildrenAssignment_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7816:1: ( ( rule__BooleanExpression__ChildrenAssignment_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7816:1: ( ( rule__BooleanExpression__ChildrenAssignment_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7817:1: ( rule__BooleanExpression__ChildrenAssignment_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getChildrenAssignment_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7818:1: ( rule__BooleanExpression__ChildrenAssignment_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7818:2: rule__BooleanExpression__ChildrenAssignment_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__ChildrenAssignment_1_2_in_rule__BooleanExpression__Group_1__2__Impl15912);
            rule__BooleanExpression__ChildrenAssignment_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getChildrenAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__Group_1__2__Impl


    // $ANTLR start rule__BooleanTerm__Group_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7834:1: rule__BooleanTerm__Group_0__0 : rule__BooleanTerm__Group_0__0__Impl rule__BooleanTerm__Group_0__1 ;
    public final void rule__BooleanTerm__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7838:1: ( rule__BooleanTerm__Group_0__0__Impl rule__BooleanTerm__Group_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7839:2: rule__BooleanTerm__Group_0__0__Impl rule__BooleanTerm__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0__0__Impl_in_rule__BooleanTerm__Group_0__015948);
            rule__BooleanTerm__Group_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0__1_in_rule__BooleanTerm__Group_0__015951);
            rule__BooleanTerm__Group_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0__0


    // $ANTLR start rule__BooleanTerm__Group_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7846:1: rule__BooleanTerm__Group_0__0__Impl : ( ruleAdditionExpression ) ;
    public final void rule__BooleanTerm__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7850:1: ( ( ruleAdditionExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7851:1: ( ruleAdditionExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7851:1: ( ruleAdditionExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7852:1: ruleAdditionExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getAdditionExpressionParserRuleCall_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleAdditionExpression_in_rule__BooleanTerm__Group_0__0__Impl15978);
            ruleAdditionExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getAdditionExpressionParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0__0__Impl


    // $ANTLR start rule__BooleanTerm__Group_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7863:1: rule__BooleanTerm__Group_0__1 : rule__BooleanTerm__Group_0__1__Impl ;
    public final void rule__BooleanTerm__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7867:1: ( rule__BooleanTerm__Group_0__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7868:2: rule__BooleanTerm__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0__1__Impl_in_rule__BooleanTerm__Group_0__116007);
            rule__BooleanTerm__Group_0__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0__1


    // $ANTLR start rule__BooleanTerm__Group_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7874:1: rule__BooleanTerm__Group_0__1__Impl : ( ( rule__BooleanTerm__Group_0_1__0 )? ) ;
    public final void rule__BooleanTerm__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7878:1: ( ( ( rule__BooleanTerm__Group_0_1__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7879:1: ( ( rule__BooleanTerm__Group_0_1__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7879:1: ( ( rule__BooleanTerm__Group_0_1__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7880:1: ( rule__BooleanTerm__Group_0_1__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getGroup_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7881:1: ( rule__BooleanTerm__Group_0_1__0 )?
            int alt58=2;
            switch ( input.LA(1) ) {
                case 23:
                    {
                    int LA58_1 = input.LA(2);

                    if ( (synpred94()) ) {
                        alt58=1;
                    }
                    }
                    break;
                case 24:
                    {
                    int LA58_2 = input.LA(2);

                    if ( (synpred94()) ) {
                        alt58=1;
                    }
                    }
                    break;
                case 25:
                    {
                    int LA58_3 = input.LA(2);

                    if ( (synpred94()) ) {
                        alt58=1;
                    }
                    }
                    break;
                case 26:
                    {
                    int LA58_4 = input.LA(2);

                    if ( (synpred94()) ) {
                        alt58=1;
                    }
                    }
                    break;
                case 27:
                    {
                    int LA58_5 = input.LA(2);

                    if ( (synpred94()) ) {
                        alt58=1;
                    }
                    }
                    break;
                case 28:
                    {
                    int LA58_6 = input.LA(2);

                    if ( (synpred94()) ) {
                        alt58=1;
                    }
                    }
                    break;
            }

            switch (alt58) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7881:2: rule__BooleanTerm__Group_0_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0_1__0_in_rule__BooleanTerm__Group_0__1__Impl16034);
                    rule__BooleanTerm__Group_0_1__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getGroup_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0__1__Impl


    // $ANTLR start rule__BooleanTerm__Group_0_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7895:1: rule__BooleanTerm__Group_0_1__0 : rule__BooleanTerm__Group_0_1__0__Impl rule__BooleanTerm__Group_0_1__1 ;
    public final void rule__BooleanTerm__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7899:1: ( rule__BooleanTerm__Group_0_1__0__Impl rule__BooleanTerm__Group_0_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7900:2: rule__BooleanTerm__Group_0_1__0__Impl rule__BooleanTerm__Group_0_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0_1__0__Impl_in_rule__BooleanTerm__Group_0_1__016069);
            rule__BooleanTerm__Group_0_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0_1__1_in_rule__BooleanTerm__Group_0_1__016072);
            rule__BooleanTerm__Group_0_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0_1__0


    // $ANTLR start rule__BooleanTerm__Group_0_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7907:1: rule__BooleanTerm__Group_0_1__0__Impl : ( () ) ;
    public final void rule__BooleanTerm__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7911:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7912:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7912:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7913:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getExpressionChildrenAction_0_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7914:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7916:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getExpressionChildrenAction_0_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0_1__0__Impl


    // $ANTLR start rule__BooleanTerm__Group_0_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7926:1: rule__BooleanTerm__Group_0_1__1 : rule__BooleanTerm__Group_0_1__1__Impl rule__BooleanTerm__Group_0_1__2 ;
    public final void rule__BooleanTerm__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7930:1: ( rule__BooleanTerm__Group_0_1__1__Impl rule__BooleanTerm__Group_0_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7931:2: rule__BooleanTerm__Group_0_1__1__Impl rule__BooleanTerm__Group_0_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0_1__1__Impl_in_rule__BooleanTerm__Group_0_1__116130);
            rule__BooleanTerm__Group_0_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0_1__2_in_rule__BooleanTerm__Group_0_1__116133);
            rule__BooleanTerm__Group_0_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0_1__1


    // $ANTLR start rule__BooleanTerm__Group_0_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7938:1: rule__BooleanTerm__Group_0_1__1__Impl : ( ( rule__BooleanTerm__OperatorAssignment_0_1_1 ) ) ;
    public final void rule__BooleanTerm__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7942:1: ( ( ( rule__BooleanTerm__OperatorAssignment_0_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7943:1: ( ( rule__BooleanTerm__OperatorAssignment_0_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7943:1: ( ( rule__BooleanTerm__OperatorAssignment_0_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7944:1: ( rule__BooleanTerm__OperatorAssignment_0_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getOperatorAssignment_0_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7945:1: ( rule__BooleanTerm__OperatorAssignment_0_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7945:2: rule__BooleanTerm__OperatorAssignment_0_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__OperatorAssignment_0_1_1_in_rule__BooleanTerm__Group_0_1__1__Impl16160);
            rule__BooleanTerm__OperatorAssignment_0_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getOperatorAssignment_0_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0_1__1__Impl


    // $ANTLR start rule__BooleanTerm__Group_0_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7955:1: rule__BooleanTerm__Group_0_1__2 : rule__BooleanTerm__Group_0_1__2__Impl ;
    public final void rule__BooleanTerm__Group_0_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7959:1: ( rule__BooleanTerm__Group_0_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7960:2: rule__BooleanTerm__Group_0_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0_1__2__Impl_in_rule__BooleanTerm__Group_0_1__216190);
            rule__BooleanTerm__Group_0_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0_1__2


    // $ANTLR start rule__BooleanTerm__Group_0_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7966:1: rule__BooleanTerm__Group_0_1__2__Impl : ( ( rule__BooleanTerm__ChildrenAssignment_0_1_2 ) ) ;
    public final void rule__BooleanTerm__Group_0_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7970:1: ( ( ( rule__BooleanTerm__ChildrenAssignment_0_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7971:1: ( ( rule__BooleanTerm__ChildrenAssignment_0_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7971:1: ( ( rule__BooleanTerm__ChildrenAssignment_0_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7972:1: ( rule__BooleanTerm__ChildrenAssignment_0_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getChildrenAssignment_0_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7973:1: ( rule__BooleanTerm__ChildrenAssignment_0_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7973:2: rule__BooleanTerm__ChildrenAssignment_0_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__ChildrenAssignment_0_1_2_in_rule__BooleanTerm__Group_0_1__2__Impl16217);
            rule__BooleanTerm__ChildrenAssignment_0_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getChildrenAssignment_0_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_0_1__2__Impl


    // $ANTLR start rule__BooleanTerm__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7989:1: rule__BooleanTerm__Group_1__0 : rule__BooleanTerm__Group_1__0__Impl rule__BooleanTerm__Group_1__1 ;
    public final void rule__BooleanTerm__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7993:1: ( rule__BooleanTerm__Group_1__0__Impl rule__BooleanTerm__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7994:2: rule__BooleanTerm__Group_1__0__Impl rule__BooleanTerm__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_1__0__Impl_in_rule__BooleanTerm__Group_1__016253);
            rule__BooleanTerm__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_1__1_in_rule__BooleanTerm__Group_1__016256);
            rule__BooleanTerm__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_1__0


    // $ANTLR start rule__BooleanTerm__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8001:1: rule__BooleanTerm__Group_1__0__Impl : ( () ) ;
    public final void rule__BooleanTerm__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8005:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8006:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8006:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8007:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getExpressionAction_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8008:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8010:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getExpressionAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_1__0__Impl


    // $ANTLR start rule__BooleanTerm__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8020:1: rule__BooleanTerm__Group_1__1 : rule__BooleanTerm__Group_1__1__Impl ;
    public final void rule__BooleanTerm__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8024:1: ( rule__BooleanTerm__Group_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8025:2: rule__BooleanTerm__Group_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_1__1__Impl_in_rule__BooleanTerm__Group_1__116314);
            rule__BooleanTerm__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_1__1


    // $ANTLR start rule__BooleanTerm__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8031:1: rule__BooleanTerm__Group_1__1__Impl : ( ( rule__BooleanTerm__ValueAssignment_1_1 ) ) ;
    public final void rule__BooleanTerm__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8035:1: ( ( ( rule__BooleanTerm__ValueAssignment_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8036:1: ( ( rule__BooleanTerm__ValueAssignment_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8036:1: ( ( rule__BooleanTerm__ValueAssignment_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8037:1: ( rule__BooleanTerm__ValueAssignment_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getValueAssignment_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8038:1: ( rule__BooleanTerm__ValueAssignment_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8038:2: rule__BooleanTerm__ValueAssignment_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__ValueAssignment_1_1_in_rule__BooleanTerm__Group_1__1__Impl16341);
            rule__BooleanTerm__ValueAssignment_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getValueAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__Group_1__1__Impl


    // $ANTLR start rule__AdditionExpression__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8052:1: rule__AdditionExpression__Group__0 : rule__AdditionExpression__Group__0__Impl rule__AdditionExpression__Group__1 ;
    public final void rule__AdditionExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8056:1: ( rule__AdditionExpression__Group__0__Impl rule__AdditionExpression__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8057:2: rule__AdditionExpression__Group__0__Impl rule__AdditionExpression__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group__0__Impl_in_rule__AdditionExpression__Group__016375);
            rule__AdditionExpression__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group__1_in_rule__AdditionExpression__Group__016378);
            rule__AdditionExpression__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group__0


    // $ANTLR start rule__AdditionExpression__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8064:1: rule__AdditionExpression__Group__0__Impl : ( ruleMulExpression ) ;
    public final void rule__AdditionExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8068:1: ( ( ruleMulExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8069:1: ( ruleMulExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8069:1: ( ruleMulExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8070:1: ruleMulExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getMulExpressionParserRuleCall_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleMulExpression_in_rule__AdditionExpression__Group__0__Impl16405);
            ruleMulExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getMulExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group__0__Impl


    // $ANTLR start rule__AdditionExpression__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8081:1: rule__AdditionExpression__Group__1 : rule__AdditionExpression__Group__1__Impl ;
    public final void rule__AdditionExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8085:1: ( rule__AdditionExpression__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8086:2: rule__AdditionExpression__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group__1__Impl_in_rule__AdditionExpression__Group__116434);
            rule__AdditionExpression__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group__1


    // $ANTLR start rule__AdditionExpression__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8092:1: rule__AdditionExpression__Group__1__Impl : ( ( rule__AdditionExpression__Group_1__0 )* ) ;
    public final void rule__AdditionExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8096:1: ( ( ( rule__AdditionExpression__Group_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8097:1: ( ( rule__AdditionExpression__Group_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8097:1: ( ( rule__AdditionExpression__Group_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8098:1: ( rule__AdditionExpression__Group_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getGroup_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8099:1: ( rule__AdditionExpression__Group_1__0 )*
            loop59:
            do {
                int alt59=2;
                int LA59_0 = input.LA(1);

                if ( (LA59_0==29) ) {
                    int LA59_5 = input.LA(2);

                    if ( (synpred95()) ) {
                        alt59=1;
                    }


                }
                else if ( (LA59_0==30) ) {
                    int LA59_6 = input.LA(2);

                    if ( (synpred95()) ) {
                        alt59=1;
                    }


                }


                switch (alt59) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8099:2: rule__AdditionExpression__Group_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group_1__0_in_rule__AdditionExpression__Group__1__Impl16461);
            	    rule__AdditionExpression__Group_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop59;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group__1__Impl


    // $ANTLR start rule__AdditionExpression__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8113:1: rule__AdditionExpression__Group_1__0 : rule__AdditionExpression__Group_1__0__Impl rule__AdditionExpression__Group_1__1 ;
    public final void rule__AdditionExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8117:1: ( rule__AdditionExpression__Group_1__0__Impl rule__AdditionExpression__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8118:2: rule__AdditionExpression__Group_1__0__Impl rule__AdditionExpression__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group_1__0__Impl_in_rule__AdditionExpression__Group_1__016496);
            rule__AdditionExpression__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group_1__1_in_rule__AdditionExpression__Group_1__016499);
            rule__AdditionExpression__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group_1__0


    // $ANTLR start rule__AdditionExpression__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8125:1: rule__AdditionExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__AdditionExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8129:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8130:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8130:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8131:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getExpressionChildrenAction_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8132:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8134:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getExpressionChildrenAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group_1__0__Impl


    // $ANTLR start rule__AdditionExpression__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8144:1: rule__AdditionExpression__Group_1__1 : rule__AdditionExpression__Group_1__1__Impl rule__AdditionExpression__Group_1__2 ;
    public final void rule__AdditionExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8148:1: ( rule__AdditionExpression__Group_1__1__Impl rule__AdditionExpression__Group_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8149:2: rule__AdditionExpression__Group_1__1__Impl rule__AdditionExpression__Group_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group_1__1__Impl_in_rule__AdditionExpression__Group_1__116557);
            rule__AdditionExpression__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group_1__2_in_rule__AdditionExpression__Group_1__116560);
            rule__AdditionExpression__Group_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group_1__1


    // $ANTLR start rule__AdditionExpression__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8156:1: rule__AdditionExpression__Group_1__1__Impl : ( ( rule__AdditionExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__AdditionExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8160:1: ( ( ( rule__AdditionExpression__OperatorAssignment_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8161:1: ( ( rule__AdditionExpression__OperatorAssignment_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8161:1: ( ( rule__AdditionExpression__OperatorAssignment_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8162:1: ( rule__AdditionExpression__OperatorAssignment_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8163:1: ( rule__AdditionExpression__OperatorAssignment_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8163:2: rule__AdditionExpression__OperatorAssignment_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__OperatorAssignment_1_1_in_rule__AdditionExpression__Group_1__1__Impl16587);
            rule__AdditionExpression__OperatorAssignment_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group_1__1__Impl


    // $ANTLR start rule__AdditionExpression__Group_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8173:1: rule__AdditionExpression__Group_1__2 : rule__AdditionExpression__Group_1__2__Impl ;
    public final void rule__AdditionExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8177:1: ( rule__AdditionExpression__Group_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8178:2: rule__AdditionExpression__Group_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group_1__2__Impl_in_rule__AdditionExpression__Group_1__216617);
            rule__AdditionExpression__Group_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group_1__2


    // $ANTLR start rule__AdditionExpression__Group_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8184:1: rule__AdditionExpression__Group_1__2__Impl : ( ( rule__AdditionExpression__ChildrenAssignment_1_2 ) ) ;
    public final void rule__AdditionExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8188:1: ( ( ( rule__AdditionExpression__ChildrenAssignment_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8189:1: ( ( rule__AdditionExpression__ChildrenAssignment_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8189:1: ( ( rule__AdditionExpression__ChildrenAssignment_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8190:1: ( rule__AdditionExpression__ChildrenAssignment_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getChildrenAssignment_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8191:1: ( rule__AdditionExpression__ChildrenAssignment_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8191:2: rule__AdditionExpression__ChildrenAssignment_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__ChildrenAssignment_1_2_in_rule__AdditionExpression__Group_1__2__Impl16644);
            rule__AdditionExpression__ChildrenAssignment_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getChildrenAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__Group_1__2__Impl


    // $ANTLR start rule__MulExpression__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8207:1: rule__MulExpression__Group__0 : rule__MulExpression__Group__0__Impl rule__MulExpression__Group__1 ;
    public final void rule__MulExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8211:1: ( rule__MulExpression__Group__0__Impl rule__MulExpression__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8212:2: rule__MulExpression__Group__0__Impl rule__MulExpression__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group__0__Impl_in_rule__MulExpression__Group__016680);
            rule__MulExpression__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group__1_in_rule__MulExpression__Group__016683);
            rule__MulExpression__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group__0


    // $ANTLR start rule__MulExpression__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8219:1: rule__MulExpression__Group__0__Impl : ( ruleTerm ) ;
    public final void rule__MulExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8223:1: ( ( ruleTerm ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8224:1: ( ruleTerm )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8224:1: ( ruleTerm )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8225:1: ruleTerm
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getTermParserRuleCall_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_rule__MulExpression__Group__0__Impl16710);
            ruleTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getTermParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group__0__Impl


    // $ANTLR start rule__MulExpression__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8236:1: rule__MulExpression__Group__1 : rule__MulExpression__Group__1__Impl ;
    public final void rule__MulExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8240:1: ( rule__MulExpression__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8241:2: rule__MulExpression__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group__1__Impl_in_rule__MulExpression__Group__116739);
            rule__MulExpression__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group__1


    // $ANTLR start rule__MulExpression__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8247:1: rule__MulExpression__Group__1__Impl : ( ( rule__MulExpression__Group_1__0 )* ) ;
    public final void rule__MulExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8251:1: ( ( ( rule__MulExpression__Group_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8252:1: ( ( rule__MulExpression__Group_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8252:1: ( ( rule__MulExpression__Group_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8253:1: ( rule__MulExpression__Group_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getGroup_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8254:1: ( rule__MulExpression__Group_1__0 )*
            loop60:
            do {
                int alt60=2;
                switch ( input.LA(1) ) {
                case 31:
                    {
                    int LA60_5 = input.LA(2);

                    if ( (synpred96()) ) {
                        alt60=1;
                    }


                    }
                    break;
                case 32:
                    {
                    int LA60_6 = input.LA(2);

                    if ( (synpred96()) ) {
                        alt60=1;
                    }


                    }
                    break;
                case 33:
                    {
                    int LA60_7 = input.LA(2);

                    if ( (synpred96()) ) {
                        alt60=1;
                    }


                    }
                    break;
                case 34:
                    {
                    int LA60_8 = input.LA(2);

                    if ( (synpred96()) ) {
                        alt60=1;
                    }


                    }
                    break;
                case 35:
                    {
                    int LA60_9 = input.LA(2);

                    if ( (synpred96()) ) {
                        alt60=1;
                    }


                    }
                    break;

                }

                switch (alt60) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8254:2: rule__MulExpression__Group_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group_1__0_in_rule__MulExpression__Group__1__Impl16766);
            	    rule__MulExpression__Group_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop60;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group__1__Impl


    // $ANTLR start rule__MulExpression__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8268:1: rule__MulExpression__Group_1__0 : rule__MulExpression__Group_1__0__Impl rule__MulExpression__Group_1__1 ;
    public final void rule__MulExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8272:1: ( rule__MulExpression__Group_1__0__Impl rule__MulExpression__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8273:2: rule__MulExpression__Group_1__0__Impl rule__MulExpression__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group_1__0__Impl_in_rule__MulExpression__Group_1__016801);
            rule__MulExpression__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group_1__1_in_rule__MulExpression__Group_1__016804);
            rule__MulExpression__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group_1__0


    // $ANTLR start rule__MulExpression__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8280:1: rule__MulExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__MulExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8284:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8285:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8285:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8286:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getExpressionChildrenAction_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8287:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8289:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getExpressionChildrenAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group_1__0__Impl


    // $ANTLR start rule__MulExpression__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8299:1: rule__MulExpression__Group_1__1 : rule__MulExpression__Group_1__1__Impl rule__MulExpression__Group_1__2 ;
    public final void rule__MulExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8303:1: ( rule__MulExpression__Group_1__1__Impl rule__MulExpression__Group_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8304:2: rule__MulExpression__Group_1__1__Impl rule__MulExpression__Group_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group_1__1__Impl_in_rule__MulExpression__Group_1__116862);
            rule__MulExpression__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group_1__2_in_rule__MulExpression__Group_1__116865);
            rule__MulExpression__Group_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group_1__1


    // $ANTLR start rule__MulExpression__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8311:1: rule__MulExpression__Group_1__1__Impl : ( ( rule__MulExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__MulExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8315:1: ( ( ( rule__MulExpression__OperatorAssignment_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8316:1: ( ( rule__MulExpression__OperatorAssignment_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8316:1: ( ( rule__MulExpression__OperatorAssignment_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8317:1: ( rule__MulExpression__OperatorAssignment_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8318:1: ( rule__MulExpression__OperatorAssignment_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8318:2: rule__MulExpression__OperatorAssignment_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__OperatorAssignment_1_1_in_rule__MulExpression__Group_1__1__Impl16892);
            rule__MulExpression__OperatorAssignment_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group_1__1__Impl


    // $ANTLR start rule__MulExpression__Group_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8328:1: rule__MulExpression__Group_1__2 : rule__MulExpression__Group_1__2__Impl ;
    public final void rule__MulExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8332:1: ( rule__MulExpression__Group_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8333:2: rule__MulExpression__Group_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group_1__2__Impl_in_rule__MulExpression__Group_1__216922);
            rule__MulExpression__Group_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group_1__2


    // $ANTLR start rule__MulExpression__Group_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8339:1: rule__MulExpression__Group_1__2__Impl : ( ( rule__MulExpression__ChildrenAssignment_1_2 ) ) ;
    public final void rule__MulExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8343:1: ( ( ( rule__MulExpression__ChildrenAssignment_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8344:1: ( ( rule__MulExpression__ChildrenAssignment_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8344:1: ( ( rule__MulExpression__ChildrenAssignment_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8345:1: ( rule__MulExpression__ChildrenAssignment_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getChildrenAssignment_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8346:1: ( rule__MulExpression__ChildrenAssignment_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8346:2: rule__MulExpression__ChildrenAssignment_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__ChildrenAssignment_1_2_in_rule__MulExpression__Group_1__2__Impl16949);
            rule__MulExpression__ChildrenAssignment_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getChildrenAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__Group_1__2__Impl


    // $ANTLR start rule__Term__Group_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8362:1: rule__Term__Group_0__0 : rule__Term__Group_0__0__Impl rule__Term__Group_0__1 ;
    public final void rule__Term__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8366:1: ( rule__Term__Group_0__0__Impl rule__Term__Group_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8367:2: rule__Term__Group_0__0__Impl rule__Term__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Term__Group_0__0__Impl_in_rule__Term__Group_0__016985);
            rule__Term__Group_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Term__Group_0__1_in_rule__Term__Group_0__016988);
            rule__Term__Group_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__Group_0__0


    // $ANTLR start rule__Term__Group_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8374:1: rule__Term__Group_0__0__Impl : ( () ) ;
    public final void rule__Term__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8378:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8379:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8379:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8380:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermAccess().getExpressionAction_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8381:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8383:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTermAccess().getExpressionAction_0_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__Group_0__0__Impl


    // $ANTLR start rule__Term__Group_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8393:1: rule__Term__Group_0__1 : rule__Term__Group_0__1__Impl rule__Term__Group_0__2 ;
    public final void rule__Term__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8397:1: ( rule__Term__Group_0__1__Impl rule__Term__Group_0__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8398:2: rule__Term__Group_0__1__Impl rule__Term__Group_0__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Term__Group_0__1__Impl_in_rule__Term__Group_0__117046);
            rule__Term__Group_0__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__Term__Group_0__2_in_rule__Term__Group_0__117049);
            rule__Term__Group_0__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__Group_0__1


    // $ANTLR start rule__Term__Group_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8405:1: rule__Term__Group_0__1__Impl : ( ( rule__Term__OperatorAssignment_0_1 ) ) ;
    public final void rule__Term__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8409:1: ( ( ( rule__Term__OperatorAssignment_0_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8410:1: ( ( rule__Term__OperatorAssignment_0_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8410:1: ( ( rule__Term__OperatorAssignment_0_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8411:1: ( rule__Term__OperatorAssignment_0_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermAccess().getOperatorAssignment_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8412:1: ( rule__Term__OperatorAssignment_0_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8412:2: rule__Term__OperatorAssignment_0_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Term__OperatorAssignment_0_1_in_rule__Term__Group_0__1__Impl17076);
            rule__Term__OperatorAssignment_0_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTermAccess().getOperatorAssignment_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__Group_0__1__Impl


    // $ANTLR start rule__Term__Group_0__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8422:1: rule__Term__Group_0__2 : rule__Term__Group_0__2__Impl ;
    public final void rule__Term__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8426:1: ( rule__Term__Group_0__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8427:2: rule__Term__Group_0__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Term__Group_0__2__Impl_in_rule__Term__Group_0__217106);
            rule__Term__Group_0__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__Group_0__2


    // $ANTLR start rule__Term__Group_0__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8433:1: rule__Term__Group_0__2__Impl : ( ( rule__Term__ChildrenAssignment_0_2 ) ) ;
    public final void rule__Term__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8437:1: ( ( ( rule__Term__ChildrenAssignment_0_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8438:1: ( ( rule__Term__ChildrenAssignment_0_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8438:1: ( ( rule__Term__ChildrenAssignment_0_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8439:1: ( rule__Term__ChildrenAssignment_0_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermAccess().getChildrenAssignment_0_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8440:1: ( rule__Term__ChildrenAssignment_0_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8440:2: rule__Term__ChildrenAssignment_0_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Term__ChildrenAssignment_0_2_in_rule__Term__Group_0__2__Impl17133);
            rule__Term__ChildrenAssignment_0_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTermAccess().getChildrenAssignment_0_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__Group_0__2__Impl


    // $ANTLR start rule__ComplexTerm__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8456:1: rule__ComplexTerm__Group__0 : rule__ComplexTerm__Group__0__Impl rule__ComplexTerm__Group__1 ;
    public final void rule__ComplexTerm__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8460:1: ( rule__ComplexTerm__Group__0__Impl rule__ComplexTerm__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8461:2: rule__ComplexTerm__Group__0__Impl rule__ComplexTerm__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group__0__Impl_in_rule__ComplexTerm__Group__017169);
            rule__ComplexTerm__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group__1_in_rule__ComplexTerm__Group__017172);
            rule__ComplexTerm__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group__0


    // $ANTLR start rule__ComplexTerm__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8468:1: rule__ComplexTerm__Group__0__Impl : ( ruleSimpleTerm ) ;
    public final void rule__ComplexTerm__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8472:1: ( ( ruleSimpleTerm ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8473:1: ( ruleSimpleTerm )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8473:1: ( ruleSimpleTerm )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8474:1: ruleSimpleTerm
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getSimpleTermParserRuleCall_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleSimpleTerm_in_rule__ComplexTerm__Group__0__Impl17199);
            ruleSimpleTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getSimpleTermParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group__0__Impl


    // $ANTLR start rule__ComplexTerm__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8485:1: rule__ComplexTerm__Group__1 : rule__ComplexTerm__Group__1__Impl ;
    public final void rule__ComplexTerm__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8489:1: ( rule__ComplexTerm__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8490:2: rule__ComplexTerm__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group__1__Impl_in_rule__ComplexTerm__Group__117228);
            rule__ComplexTerm__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group__1


    // $ANTLR start rule__ComplexTerm__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8496:1: rule__ComplexTerm__Group__1__Impl : ( ( rule__ComplexTerm__Alternatives_1 )* ) ;
    public final void rule__ComplexTerm__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8500:1: ( ( ( rule__ComplexTerm__Alternatives_1 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8501:1: ( ( rule__ComplexTerm__Alternatives_1 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8501:1: ( ( rule__ComplexTerm__Alternatives_1 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8502:1: ( rule__ComplexTerm__Alternatives_1 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getAlternatives_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8503:1: ( rule__ComplexTerm__Alternatives_1 )*
            loop61:
            do {
                int alt61=2;
                switch ( input.LA(1) ) {
                case 48:
                    {
                    int LA61_2 = input.LA(2);

                    if ( (synpred97()) ) {
                        alt61=1;
                    }


                    }
                    break;
                case 76:
                    {
                    int LA61_6 = input.LA(2);

                    if ( (synpred97()) ) {
                        alt61=1;
                    }


                    }
                    break;
                case 83:
                    {
                    int LA61_7 = input.LA(2);

                    if ( (synpred97()) ) {
                        alt61=1;
                    }


                    }
                    break;

                }

                switch (alt61) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8503:2: rule__ComplexTerm__Alternatives_1
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Alternatives_1_in_rule__ComplexTerm__Group__1__Impl17255);
            	    rule__ComplexTerm__Alternatives_1();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop61;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getAlternatives_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group__1__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_0__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8517:1: rule__ComplexTerm__Group_1_0__0 : rule__ComplexTerm__Group_1_0__0__Impl rule__ComplexTerm__Group_1_0__1 ;
    public final void rule__ComplexTerm__Group_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8521:1: ( rule__ComplexTerm__Group_1_0__0__Impl rule__ComplexTerm__Group_1_0__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8522:2: rule__ComplexTerm__Group_1_0__0__Impl rule__ComplexTerm__Group_1_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_0__0__Impl_in_rule__ComplexTerm__Group_1_0__017290);
            rule__ComplexTerm__Group_1_0__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_0__1_in_rule__ComplexTerm__Group_1_0__017293);
            rule__ComplexTerm__Group_1_0__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_0__0


    // $ANTLR start rule__ComplexTerm__Group_1_0__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8529:1: rule__ComplexTerm__Group_1_0__0__Impl : ( () ) ;
    public final void rule__ComplexTerm__Group_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8533:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8534:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8534:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8535:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getExpressionChildrenAction_1_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8536:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8538:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getExpressionChildrenAction_1_0_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_0__0__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_0__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8548:1: rule__ComplexTerm__Group_1_0__1 : rule__ComplexTerm__Group_1_0__1__Impl rule__ComplexTerm__Group_1_0__2 ;
    public final void rule__ComplexTerm__Group_1_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8552:1: ( rule__ComplexTerm__Group_1_0__1__Impl rule__ComplexTerm__Group_1_0__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8553:2: rule__ComplexTerm__Group_1_0__1__Impl rule__ComplexTerm__Group_1_0__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_0__1__Impl_in_rule__ComplexTerm__Group_1_0__117351);
            rule__ComplexTerm__Group_1_0__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_0__2_in_rule__ComplexTerm__Group_1_0__117354);
            rule__ComplexTerm__Group_1_0__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_0__1


    // $ANTLR start rule__ComplexTerm__Group_1_0__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8560:1: rule__ComplexTerm__Group_1_0__1__Impl : ( ( rule__ComplexTerm__OperatorAssignment_1_0_1 ) ) ;
    public final void rule__ComplexTerm__Group_1_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8564:1: ( ( ( rule__ComplexTerm__OperatorAssignment_1_0_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8565:1: ( ( rule__ComplexTerm__OperatorAssignment_1_0_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8565:1: ( ( rule__ComplexTerm__OperatorAssignment_1_0_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8566:1: ( rule__ComplexTerm__OperatorAssignment_1_0_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorAssignment_1_0_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8567:1: ( rule__ComplexTerm__OperatorAssignment_1_0_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8567:2: rule__ComplexTerm__OperatorAssignment_1_0_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__OperatorAssignment_1_0_1_in_rule__ComplexTerm__Group_1_0__1__Impl17381);
            rule__ComplexTerm__OperatorAssignment_1_0_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorAssignment_1_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_0__1__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_0__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8577:1: rule__ComplexTerm__Group_1_0__2 : rule__ComplexTerm__Group_1_0__2__Impl ;
    public final void rule__ComplexTerm__Group_1_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8581:1: ( rule__ComplexTerm__Group_1_0__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8582:2: rule__ComplexTerm__Group_1_0__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_0__2__Impl_in_rule__ComplexTerm__Group_1_0__217411);
            rule__ComplexTerm__Group_1_0__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_0__2


    // $ANTLR start rule__ComplexTerm__Group_1_0__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8588:1: rule__ComplexTerm__Group_1_0__2__Impl : ( ( rule__ComplexTerm__ChildrenAssignment_1_0_2 ) ) ;
    public final void rule__ComplexTerm__Group_1_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8592:1: ( ( ( rule__ComplexTerm__ChildrenAssignment_1_0_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8593:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_0_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8593:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_0_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8594:1: ( rule__ComplexTerm__ChildrenAssignment_1_0_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_0_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8595:1: ( rule__ComplexTerm__ChildrenAssignment_1_0_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8595:2: rule__ComplexTerm__ChildrenAssignment_1_0_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_0_2_in_rule__ComplexTerm__Group_1_0__2__Impl17438);
            rule__ComplexTerm__ChildrenAssignment_1_0_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_0_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_0__2__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8611:1: rule__ComplexTerm__Group_1_1__0 : rule__ComplexTerm__Group_1_1__0__Impl rule__ComplexTerm__Group_1_1__1 ;
    public final void rule__ComplexTerm__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8615:1: ( rule__ComplexTerm__Group_1_1__0__Impl rule__ComplexTerm__Group_1_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8616:2: rule__ComplexTerm__Group_1_1__0__Impl rule__ComplexTerm__Group_1_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__0__Impl_in_rule__ComplexTerm__Group_1_1__017474);
            rule__ComplexTerm__Group_1_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__1_in_rule__ComplexTerm__Group_1_1__017477);
            rule__ComplexTerm__Group_1_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__0


    // $ANTLR start rule__ComplexTerm__Group_1_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8623:1: rule__ComplexTerm__Group_1_1__0__Impl : ( () ) ;
    public final void rule__ComplexTerm__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8627:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8628:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8628:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8629:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getExpressionChildrenAction_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8630:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8632:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getExpressionChildrenAction_1_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__0__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8642:1: rule__ComplexTerm__Group_1_1__1 : rule__ComplexTerm__Group_1_1__1__Impl rule__ComplexTerm__Group_1_1__2 ;
    public final void rule__ComplexTerm__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8646:1: ( rule__ComplexTerm__Group_1_1__1__Impl rule__ComplexTerm__Group_1_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8647:2: rule__ComplexTerm__Group_1_1__1__Impl rule__ComplexTerm__Group_1_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__1__Impl_in_rule__ComplexTerm__Group_1_1__117535);
            rule__ComplexTerm__Group_1_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__2_in_rule__ComplexTerm__Group_1_1__117538);
            rule__ComplexTerm__Group_1_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__1


    // $ANTLR start rule__ComplexTerm__Group_1_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8654:1: rule__ComplexTerm__Group_1_1__1__Impl : ( ( rule__ComplexTerm__OperatorAssignment_1_1_1 ) ) ;
    public final void rule__ComplexTerm__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8658:1: ( ( ( rule__ComplexTerm__OperatorAssignment_1_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8659:1: ( ( rule__ComplexTerm__OperatorAssignment_1_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8659:1: ( ( rule__ComplexTerm__OperatorAssignment_1_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8660:1: ( rule__ComplexTerm__OperatorAssignment_1_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorAssignment_1_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8661:1: ( rule__ComplexTerm__OperatorAssignment_1_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8661:2: rule__ComplexTerm__OperatorAssignment_1_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__OperatorAssignment_1_1_1_in_rule__ComplexTerm__Group_1_1__1__Impl17565);
            rule__ComplexTerm__OperatorAssignment_1_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorAssignment_1_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__1__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8671:1: rule__ComplexTerm__Group_1_1__2 : rule__ComplexTerm__Group_1_1__2__Impl rule__ComplexTerm__Group_1_1__3 ;
    public final void rule__ComplexTerm__Group_1_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8675:1: ( rule__ComplexTerm__Group_1_1__2__Impl rule__ComplexTerm__Group_1_1__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8676:2: rule__ComplexTerm__Group_1_1__2__Impl rule__ComplexTerm__Group_1_1__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__2__Impl_in_rule__ComplexTerm__Group_1_1__217595);
            rule__ComplexTerm__Group_1_1__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__3_in_rule__ComplexTerm__Group_1_1__217598);
            rule__ComplexTerm__Group_1_1__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__2


    // $ANTLR start rule__ComplexTerm__Group_1_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8683:1: rule__ComplexTerm__Group_1_1__2__Impl : ( ( rule__ComplexTerm__Group_1_1_2__0 )? ) ;
    public final void rule__ComplexTerm__Group_1_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8687:1: ( ( ( rule__ComplexTerm__Group_1_1_2__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8688:1: ( ( rule__ComplexTerm__Group_1_1_2__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8688:1: ( ( rule__ComplexTerm__Group_1_1_2__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8689:1: ( rule__ComplexTerm__Group_1_1_2__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getGroup_1_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8690:1: ( rule__ComplexTerm__Group_1_1_2__0 )?
            int alt62=2;
            int LA62_0 = input.LA(1);

            if ( ((LA62_0>=RULE_ID && LA62_0<=RULE_INT)||(LA62_0>=36 && LA62_0<=43)||LA62_0==48||LA62_0==54||LA62_0==61||LA62_0==67||LA62_0==69||LA62_0==82||(LA62_0>=84 && LA62_0<=88)) ) {
                alt62=1;
            }
            switch (alt62) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8690:2: rule__ComplexTerm__Group_1_1_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2__0_in_rule__ComplexTerm__Group_1_1__2__Impl17625);
                    rule__ComplexTerm__Group_1_1_2__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getGroup_1_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__2__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8700:1: rule__ComplexTerm__Group_1_1__3 : rule__ComplexTerm__Group_1_1__3__Impl ;
    public final void rule__ComplexTerm__Group_1_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8704:1: ( rule__ComplexTerm__Group_1_1__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8705:2: rule__ComplexTerm__Group_1_1__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1__3__Impl_in_rule__ComplexTerm__Group_1_1__317656);
            rule__ComplexTerm__Group_1_1__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__3


    // $ANTLR start rule__ComplexTerm__Group_1_1__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8711:1: rule__ComplexTerm__Group_1_1__3__Impl : ( ')' ) ;
    public final void rule__ComplexTerm__Group_1_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8715:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8716:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8716:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8717:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getRightParenthesisKeyword_1_1_3()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__ComplexTerm__Group_1_1__3__Impl17684); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getRightParenthesisKeyword_1_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1__3__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8738:1: rule__ComplexTerm__Group_1_1_2__0 : rule__ComplexTerm__Group_1_1_2__0__Impl rule__ComplexTerm__Group_1_1_2__1 ;
    public final void rule__ComplexTerm__Group_1_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8742:1: ( rule__ComplexTerm__Group_1_1_2__0__Impl rule__ComplexTerm__Group_1_1_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8743:2: rule__ComplexTerm__Group_1_1_2__0__Impl rule__ComplexTerm__Group_1_1_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2__0__Impl_in_rule__ComplexTerm__Group_1_1_2__017723);
            rule__ComplexTerm__Group_1_1_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2__1_in_rule__ComplexTerm__Group_1_1_2__017726);
            rule__ComplexTerm__Group_1_1_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2__0


    // $ANTLR start rule__ComplexTerm__Group_1_1_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8750:1: rule__ComplexTerm__Group_1_1_2__0__Impl : ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_0 ) ) ;
    public final void rule__ComplexTerm__Group_1_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8754:1: ( ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8755:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8755:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8756:1: ( rule__ComplexTerm__ChildrenAssignment_1_1_2_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_1_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8757:1: ( rule__ComplexTerm__ChildrenAssignment_1_1_2_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8757:2: rule__ComplexTerm__ChildrenAssignment_1_1_2_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_1_2_0_in_rule__ComplexTerm__Group_1_1_2__0__Impl17753);
            rule__ComplexTerm__ChildrenAssignment_1_1_2_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2__0__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8767:1: rule__ComplexTerm__Group_1_1_2__1 : rule__ComplexTerm__Group_1_1_2__1__Impl ;
    public final void rule__ComplexTerm__Group_1_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8771:1: ( rule__ComplexTerm__Group_1_1_2__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8772:2: rule__ComplexTerm__Group_1_1_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2__1__Impl_in_rule__ComplexTerm__Group_1_1_2__117783);
            rule__ComplexTerm__Group_1_1_2__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2__1


    // $ANTLR start rule__ComplexTerm__Group_1_1_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8778:1: rule__ComplexTerm__Group_1_1_2__1__Impl : ( ( rule__ComplexTerm__Group_1_1_2_1__0 )* ) ;
    public final void rule__ComplexTerm__Group_1_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8782:1: ( ( ( rule__ComplexTerm__Group_1_1_2_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8783:1: ( ( rule__ComplexTerm__Group_1_1_2_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8783:1: ( ( rule__ComplexTerm__Group_1_1_2_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8784:1: ( rule__ComplexTerm__Group_1_1_2_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getGroup_1_1_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8785:1: ( rule__ComplexTerm__Group_1_1_2_1__0 )*
            loop63:
            do {
                int alt63=2;
                int LA63_0 = input.LA(1);

                if ( (LA63_0==51) ) {
                    alt63=1;
                }


                switch (alt63) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8785:2: rule__ComplexTerm__Group_1_1_2_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2_1__0_in_rule__ComplexTerm__Group_1_1_2__1__Impl17810);
            	    rule__ComplexTerm__Group_1_1_2_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop63;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getGroup_1_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2__1__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1_2_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8799:1: rule__ComplexTerm__Group_1_1_2_1__0 : rule__ComplexTerm__Group_1_1_2_1__0__Impl rule__ComplexTerm__Group_1_1_2_1__1 ;
    public final void rule__ComplexTerm__Group_1_1_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8803:1: ( rule__ComplexTerm__Group_1_1_2_1__0__Impl rule__ComplexTerm__Group_1_1_2_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8804:2: rule__ComplexTerm__Group_1_1_2_1__0__Impl rule__ComplexTerm__Group_1_1_2_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2_1__0__Impl_in_rule__ComplexTerm__Group_1_1_2_1__017845);
            rule__ComplexTerm__Group_1_1_2_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2_1__1_in_rule__ComplexTerm__Group_1_1_2_1__017848);
            rule__ComplexTerm__Group_1_1_2_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2_1__0


    // $ANTLR start rule__ComplexTerm__Group_1_1_2_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8811:1: rule__ComplexTerm__Group_1_1_2_1__0__Impl : ( ',' ) ;
    public final void rule__ComplexTerm__Group_1_1_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8815:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8816:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8816:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8817:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getCommaKeyword_1_1_2_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__ComplexTerm__Group_1_1_2_1__0__Impl17876); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getCommaKeyword_1_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2_1__0__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_1_2_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8830:1: rule__ComplexTerm__Group_1_1_2_1__1 : rule__ComplexTerm__Group_1_1_2_1__1__Impl ;
    public final void rule__ComplexTerm__Group_1_1_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8834:1: ( rule__ComplexTerm__Group_1_1_2_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8835:2: rule__ComplexTerm__Group_1_1_2_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_1_2_1__1__Impl_in_rule__ComplexTerm__Group_1_1_2_1__117907);
            rule__ComplexTerm__Group_1_1_2_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2_1__1


    // $ANTLR start rule__ComplexTerm__Group_1_1_2_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8841:1: rule__ComplexTerm__Group_1_1_2_1__1__Impl : ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1 ) ) ;
    public final void rule__ComplexTerm__Group_1_1_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8845:1: ( ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8846:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8846:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8847:1: ( rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_1_2_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8848:1: ( rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8848:2: rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1_in_rule__ComplexTerm__Group_1_1_2_1__1__Impl17934);
            rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_1_2_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_1_2_1__1__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_2__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8862:1: rule__ComplexTerm__Group_1_2__0 : rule__ComplexTerm__Group_1_2__0__Impl rule__ComplexTerm__Group_1_2__1 ;
    public final void rule__ComplexTerm__Group_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8866:1: ( rule__ComplexTerm__Group_1_2__0__Impl rule__ComplexTerm__Group_1_2__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8867:2: rule__ComplexTerm__Group_1_2__0__Impl rule__ComplexTerm__Group_1_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__0__Impl_in_rule__ComplexTerm__Group_1_2__017968);
            rule__ComplexTerm__Group_1_2__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__1_in_rule__ComplexTerm__Group_1_2__017971);
            rule__ComplexTerm__Group_1_2__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__0


    // $ANTLR start rule__ComplexTerm__Group_1_2__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8874:1: rule__ComplexTerm__Group_1_2__0__Impl : ( () ) ;
    public final void rule__ComplexTerm__Group_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8878:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8879:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8879:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8880:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getExpressionChildrenAction_1_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8881:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8883:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getExpressionChildrenAction_1_2_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__0__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_2__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8893:1: rule__ComplexTerm__Group_1_2__1 : rule__ComplexTerm__Group_1_2__1__Impl rule__ComplexTerm__Group_1_2__2 ;
    public final void rule__ComplexTerm__Group_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8897:1: ( rule__ComplexTerm__Group_1_2__1__Impl rule__ComplexTerm__Group_1_2__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8898:2: rule__ComplexTerm__Group_1_2__1__Impl rule__ComplexTerm__Group_1_2__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__1__Impl_in_rule__ComplexTerm__Group_1_2__118029);
            rule__ComplexTerm__Group_1_2__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__2_in_rule__ComplexTerm__Group_1_2__118032);
            rule__ComplexTerm__Group_1_2__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__1


    // $ANTLR start rule__ComplexTerm__Group_1_2__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8905:1: rule__ComplexTerm__Group_1_2__1__Impl : ( ( rule__ComplexTerm__OperatorAssignment_1_2_1 ) ) ;
    public final void rule__ComplexTerm__Group_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8909:1: ( ( ( rule__ComplexTerm__OperatorAssignment_1_2_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8910:1: ( ( rule__ComplexTerm__OperatorAssignment_1_2_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8910:1: ( ( rule__ComplexTerm__OperatorAssignment_1_2_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8911:1: ( rule__ComplexTerm__OperatorAssignment_1_2_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorAssignment_1_2_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8912:1: ( rule__ComplexTerm__OperatorAssignment_1_2_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8912:2: rule__ComplexTerm__OperatorAssignment_1_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__OperatorAssignment_1_2_1_in_rule__ComplexTerm__Group_1_2__1__Impl18059);
            rule__ComplexTerm__OperatorAssignment_1_2_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorAssignment_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__1__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_2__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8922:1: rule__ComplexTerm__Group_1_2__2 : rule__ComplexTerm__Group_1_2__2__Impl rule__ComplexTerm__Group_1_2__3 ;
    public final void rule__ComplexTerm__Group_1_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8926:1: ( rule__ComplexTerm__Group_1_2__2__Impl rule__ComplexTerm__Group_1_2__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8927:2: rule__ComplexTerm__Group_1_2__2__Impl rule__ComplexTerm__Group_1_2__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__2__Impl_in_rule__ComplexTerm__Group_1_2__218089);
            rule__ComplexTerm__Group_1_2__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__3_in_rule__ComplexTerm__Group_1_2__218092);
            rule__ComplexTerm__Group_1_2__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__2


    // $ANTLR start rule__ComplexTerm__Group_1_2__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8934:1: rule__ComplexTerm__Group_1_2__2__Impl : ( ( rule__ComplexTerm__ChildrenAssignment_1_2_2 ) ) ;
    public final void rule__ComplexTerm__Group_1_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8938:1: ( ( ( rule__ComplexTerm__ChildrenAssignment_1_2_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8939:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_2_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8939:1: ( ( rule__ComplexTerm__ChildrenAssignment_1_2_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8940:1: ( rule__ComplexTerm__ChildrenAssignment_1_2_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_2_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8941:1: ( rule__ComplexTerm__ChildrenAssignment_1_2_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8941:2: rule__ComplexTerm__ChildrenAssignment_1_2_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_2_2_in_rule__ComplexTerm__Group_1_2__2__Impl18119);
            rule__ComplexTerm__ChildrenAssignment_1_2_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenAssignment_1_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__2__Impl


    // $ANTLR start rule__ComplexTerm__Group_1_2__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8951:1: rule__ComplexTerm__Group_1_2__3 : rule__ComplexTerm__Group_1_2__3__Impl ;
    public final void rule__ComplexTerm__Group_1_2__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8955:1: ( rule__ComplexTerm__Group_1_2__3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8956:2: rule__ComplexTerm__Group_1_2__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Group_1_2__3__Impl_in_rule__ComplexTerm__Group_1_2__318149);
            rule__ComplexTerm__Group_1_2__3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__3


    // $ANTLR start rule__ComplexTerm__Group_1_2__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8962:1: rule__ComplexTerm__Group_1_2__3__Impl : ( ']' ) ;
    public final void rule__ComplexTerm__Group_1_2__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8966:1: ( ( ']' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8967:1: ( ']' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8967:1: ( ']' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8968:1: ']'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getRightSquareBracketKeyword_1_2_3()); 
            }
            match(input,68,FollowSets000.FOLLOW_68_in_rule__ComplexTerm__Group_1_2__3__Impl18177); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getRightSquareBracketKeyword_1_2_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__Group_1_2__3__Impl


    // $ANTLR start rule__SimpleTerm__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8989:1: rule__SimpleTerm__Group_1__0 : rule__SimpleTerm__Group_1__0__Impl rule__SimpleTerm__Group_1__1 ;
    public final void rule__SimpleTerm__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8993:1: ( rule__SimpleTerm__Group_1__0__Impl rule__SimpleTerm__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8994:2: rule__SimpleTerm__Group_1__0__Impl rule__SimpleTerm__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_1__0__Impl_in_rule__SimpleTerm__Group_1__018216);
            rule__SimpleTerm__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_1__1_in_rule__SimpleTerm__Group_1__018219);
            rule__SimpleTerm__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_1__0


    // $ANTLR start rule__SimpleTerm__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9001:1: rule__SimpleTerm__Group_1__0__Impl : ( '@' ) ;
    public final void rule__SimpleTerm__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9005:1: ( ( '@' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9006:1: ( '@' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9006:1: ( '@' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9007:1: '@'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getCommercialAtKeyword_1_0()); 
            }
            match(input,69,FollowSets000.FOLLOW_69_in_rule__SimpleTerm__Group_1__0__Impl18247); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getCommercialAtKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_1__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9020:1: rule__SimpleTerm__Group_1__1 : rule__SimpleTerm__Group_1__1__Impl rule__SimpleTerm__Group_1__2 ;
    public final void rule__SimpleTerm__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9024:1: ( rule__SimpleTerm__Group_1__1__Impl rule__SimpleTerm__Group_1__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9025:2: rule__SimpleTerm__Group_1__1__Impl rule__SimpleTerm__Group_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_1__1__Impl_in_rule__SimpleTerm__Group_1__118278);
            rule__SimpleTerm__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_1__2_in_rule__SimpleTerm__Group_1__118281);
            rule__SimpleTerm__Group_1__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_1__1


    // $ANTLR start rule__SimpleTerm__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9032:1: rule__SimpleTerm__Group_1__1__Impl : ( () ) ;
    public final void rule__SimpleTerm__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9036:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9037:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9037:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9038:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getConstantExpressionAction_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9039:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9041:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getConstantExpressionAction_1_1()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_1__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_1__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9051:1: rule__SimpleTerm__Group_1__2 : rule__SimpleTerm__Group_1__2__Impl ;
    public final void rule__SimpleTerm__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9055:1: ( rule__SimpleTerm__Group_1__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9056:2: rule__SimpleTerm__Group_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_1__2__Impl_in_rule__SimpleTerm__Group_1__218339);
            rule__SimpleTerm__Group_1__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_1__2


    // $ANTLR start rule__SimpleTerm__Group_1__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9062:1: rule__SimpleTerm__Group_1__2__Impl : ( ( rule__SimpleTerm__ConstantAssignment_1_2 ) ) ;
    public final void rule__SimpleTerm__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9066:1: ( ( ( rule__SimpleTerm__ConstantAssignment_1_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9067:1: ( ( rule__SimpleTerm__ConstantAssignment_1_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9067:1: ( ( rule__SimpleTerm__ConstantAssignment_1_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9068:1: ( rule__SimpleTerm__ConstantAssignment_1_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getConstantAssignment_1_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9069:1: ( rule__SimpleTerm__ConstantAssignment_1_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9069:2: rule__SimpleTerm__ConstantAssignment_1_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__ConstantAssignment_1_2_in_rule__SimpleTerm__Group_1__2__Impl18366);
            rule__SimpleTerm__ConstantAssignment_1_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getConstantAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_1__2__Impl


    // $ANTLR start rule__SimpleTerm__Group_3__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9085:1: rule__SimpleTerm__Group_3__0 : rule__SimpleTerm__Group_3__0__Impl rule__SimpleTerm__Group_3__1 ;
    public final void rule__SimpleTerm__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9089:1: ( rule__SimpleTerm__Group_3__0__Impl rule__SimpleTerm__Group_3__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9090:2: rule__SimpleTerm__Group_3__0__Impl rule__SimpleTerm__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_3__0__Impl_in_rule__SimpleTerm__Group_3__018402);
            rule__SimpleTerm__Group_3__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_3__1_in_rule__SimpleTerm__Group_3__018405);
            rule__SimpleTerm__Group_3__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_3__0


    // $ANTLR start rule__SimpleTerm__Group_3__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9097:1: rule__SimpleTerm__Group_3__0__Impl : ( '(' ) ;
    public final void rule__SimpleTerm__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9101:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9102:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9102:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9103:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getLeftParenthesisKeyword_3_0()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__SimpleTerm__Group_3__0__Impl18433); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getLeftParenthesisKeyword_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_3__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_3__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9116:1: rule__SimpleTerm__Group_3__1 : rule__SimpleTerm__Group_3__1__Impl rule__SimpleTerm__Group_3__2 ;
    public final void rule__SimpleTerm__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9120:1: ( rule__SimpleTerm__Group_3__1__Impl rule__SimpleTerm__Group_3__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9121:2: rule__SimpleTerm__Group_3__1__Impl rule__SimpleTerm__Group_3__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_3__1__Impl_in_rule__SimpleTerm__Group_3__118464);
            rule__SimpleTerm__Group_3__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_3__2_in_rule__SimpleTerm__Group_3__118467);
            rule__SimpleTerm__Group_3__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_3__1


    // $ANTLR start rule__SimpleTerm__Group_3__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9128:1: rule__SimpleTerm__Group_3__1__Impl : ( ruleSimpleExpression ) ;
    public final void rule__SimpleTerm__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9132:1: ( ( ruleSimpleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9133:1: ( ruleSimpleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9133:1: ( ruleSimpleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9134:1: ruleSimpleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getSimpleExpressionParserRuleCall_3_1()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleSimpleExpression_in_rule__SimpleTerm__Group_3__1__Impl18494);
            ruleSimpleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getSimpleExpressionParserRuleCall_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_3__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_3__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9145:1: rule__SimpleTerm__Group_3__2 : rule__SimpleTerm__Group_3__2__Impl ;
    public final void rule__SimpleTerm__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9149:1: ( rule__SimpleTerm__Group_3__2__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9150:2: rule__SimpleTerm__Group_3__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_3__2__Impl_in_rule__SimpleTerm__Group_3__218523);
            rule__SimpleTerm__Group_3__2__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_3__2


    // $ANTLR start rule__SimpleTerm__Group_3__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9156:1: rule__SimpleTerm__Group_3__2__Impl : ( ')' ) ;
    public final void rule__SimpleTerm__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9160:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9161:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9161:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9162:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getRightParenthesisKeyword_3_2()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__SimpleTerm__Group_3__2__Impl18551); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getRightParenthesisKeyword_3_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_3__2__Impl


    // $ANTLR start rule__SimpleTerm__Group_4__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9181:1: rule__SimpleTerm__Group_4__0 : rule__SimpleTerm__Group_4__0__Impl rule__SimpleTerm__Group_4__1 ;
    public final void rule__SimpleTerm__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9185:1: ( rule__SimpleTerm__Group_4__0__Impl rule__SimpleTerm__Group_4__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9186:2: rule__SimpleTerm__Group_4__0__Impl rule__SimpleTerm__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__0__Impl_in_rule__SimpleTerm__Group_4__018588);
            rule__SimpleTerm__Group_4__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__1_in_rule__SimpleTerm__Group_4__018591);
            rule__SimpleTerm__Group_4__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__0


    // $ANTLR start rule__SimpleTerm__Group_4__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9193:1: rule__SimpleTerm__Group_4__0__Impl : ( () ) ;
    public final void rule__SimpleTerm__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9197:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9198:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9198:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9199:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getNewExpressionAction_4_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9200:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9202:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getNewExpressionAction_4_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_4__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9212:1: rule__SimpleTerm__Group_4__1 : rule__SimpleTerm__Group_4__1__Impl rule__SimpleTerm__Group_4__2 ;
    public final void rule__SimpleTerm__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9216:1: ( rule__SimpleTerm__Group_4__1__Impl rule__SimpleTerm__Group_4__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9217:2: rule__SimpleTerm__Group_4__1__Impl rule__SimpleTerm__Group_4__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__1__Impl_in_rule__SimpleTerm__Group_4__118649);
            rule__SimpleTerm__Group_4__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__2_in_rule__SimpleTerm__Group_4__118652);
            rule__SimpleTerm__Group_4__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__1


    // $ANTLR start rule__SimpleTerm__Group_4__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9224:1: rule__SimpleTerm__Group_4__1__Impl : ( ( rule__SimpleTerm__OperatorAssignment_4_1 ) ) ;
    public final void rule__SimpleTerm__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9228:1: ( ( ( rule__SimpleTerm__OperatorAssignment_4_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9229:1: ( ( rule__SimpleTerm__OperatorAssignment_4_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9229:1: ( ( rule__SimpleTerm__OperatorAssignment_4_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9230:1: ( rule__SimpleTerm__OperatorAssignment_4_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorAssignment_4_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9231:1: ( rule__SimpleTerm__OperatorAssignment_4_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9231:2: rule__SimpleTerm__OperatorAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__OperatorAssignment_4_1_in_rule__SimpleTerm__Group_4__1__Impl18679);
            rule__SimpleTerm__OperatorAssignment_4_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorAssignment_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_4__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9241:1: rule__SimpleTerm__Group_4__2 : rule__SimpleTerm__Group_4__2__Impl rule__SimpleTerm__Group_4__3 ;
    public final void rule__SimpleTerm__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9245:1: ( rule__SimpleTerm__Group_4__2__Impl rule__SimpleTerm__Group_4__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9246:2: rule__SimpleTerm__Group_4__2__Impl rule__SimpleTerm__Group_4__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__2__Impl_in_rule__SimpleTerm__Group_4__218709);
            rule__SimpleTerm__Group_4__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__3_in_rule__SimpleTerm__Group_4__218712);
            rule__SimpleTerm__Group_4__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__2


    // $ANTLR start rule__SimpleTerm__Group_4__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9253:1: rule__SimpleTerm__Group_4__2__Impl : ( ( rule__SimpleTerm__TypeAssignment_4_2 ) ) ;
    public final void rule__SimpleTerm__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9257:1: ( ( ( rule__SimpleTerm__TypeAssignment_4_2 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9258:1: ( ( rule__SimpleTerm__TypeAssignment_4_2 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9258:1: ( ( rule__SimpleTerm__TypeAssignment_4_2 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9259:1: ( rule__SimpleTerm__TypeAssignment_4_2 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getTypeAssignment_4_2()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9260:1: ( rule__SimpleTerm__TypeAssignment_4_2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9260:2: rule__SimpleTerm__TypeAssignment_4_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__TypeAssignment_4_2_in_rule__SimpleTerm__Group_4__2__Impl18739);
            rule__SimpleTerm__TypeAssignment_4_2();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getTypeAssignment_4_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__2__Impl


    // $ANTLR start rule__SimpleTerm__Group_4__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9270:1: rule__SimpleTerm__Group_4__3 : rule__SimpleTerm__Group_4__3__Impl rule__SimpleTerm__Group_4__4 ;
    public final void rule__SimpleTerm__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9274:1: ( rule__SimpleTerm__Group_4__3__Impl rule__SimpleTerm__Group_4__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9275:2: rule__SimpleTerm__Group_4__3__Impl rule__SimpleTerm__Group_4__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__3__Impl_in_rule__SimpleTerm__Group_4__318769);
            rule__SimpleTerm__Group_4__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__4_in_rule__SimpleTerm__Group_4__318772);
            rule__SimpleTerm__Group_4__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__3


    // $ANTLR start rule__SimpleTerm__Group_4__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9282:1: rule__SimpleTerm__Group_4__3__Impl : ( '(' ) ;
    public final void rule__SimpleTerm__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9286:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9287:1: ( '(' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9287:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9288:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getLeftParenthesisKeyword_4_3()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__SimpleTerm__Group_4__3__Impl18800); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getLeftParenthesisKeyword_4_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__3__Impl


    // $ANTLR start rule__SimpleTerm__Group_4__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9301:1: rule__SimpleTerm__Group_4__4 : rule__SimpleTerm__Group_4__4__Impl rule__SimpleTerm__Group_4__5 ;
    public final void rule__SimpleTerm__Group_4__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9305:1: ( rule__SimpleTerm__Group_4__4__Impl rule__SimpleTerm__Group_4__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9306:2: rule__SimpleTerm__Group_4__4__Impl rule__SimpleTerm__Group_4__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__4__Impl_in_rule__SimpleTerm__Group_4__418831);
            rule__SimpleTerm__Group_4__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__5_in_rule__SimpleTerm__Group_4__418834);
            rule__SimpleTerm__Group_4__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__4


    // $ANTLR start rule__SimpleTerm__Group_4__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9313:1: rule__SimpleTerm__Group_4__4__Impl : ( ( rule__SimpleTerm__Group_4_4__0 )? ) ;
    public final void rule__SimpleTerm__Group_4__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9317:1: ( ( ( rule__SimpleTerm__Group_4_4__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9318:1: ( ( rule__SimpleTerm__Group_4_4__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9318:1: ( ( rule__SimpleTerm__Group_4_4__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9319:1: ( rule__SimpleTerm__Group_4_4__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getGroup_4_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9320:1: ( rule__SimpleTerm__Group_4_4__0 )?
            int alt64=2;
            int LA64_0 = input.LA(1);

            if ( ((LA64_0>=RULE_ID && LA64_0<=RULE_INT)||(LA64_0>=36 && LA64_0<=43)||LA64_0==48||LA64_0==54||LA64_0==61||LA64_0==67||LA64_0==69||LA64_0==82||(LA64_0>=84 && LA64_0<=88)) ) {
                alt64=1;
            }
            switch (alt64) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9320:2: rule__SimpleTerm__Group_4_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4__0_in_rule__SimpleTerm__Group_4__4__Impl18861);
                    rule__SimpleTerm__Group_4_4__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getGroup_4_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__4__Impl


    // $ANTLR start rule__SimpleTerm__Group_4__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9330:1: rule__SimpleTerm__Group_4__5 : rule__SimpleTerm__Group_4__5__Impl ;
    public final void rule__SimpleTerm__Group_4__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9334:1: ( rule__SimpleTerm__Group_4__5__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9335:2: rule__SimpleTerm__Group_4__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4__5__Impl_in_rule__SimpleTerm__Group_4__518892);
            rule__SimpleTerm__Group_4__5__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__5


    // $ANTLR start rule__SimpleTerm__Group_4__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9341:1: rule__SimpleTerm__Group_4__5__Impl : ( ')' ) ;
    public final void rule__SimpleTerm__Group_4__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9345:1: ( ( ')' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9346:1: ( ')' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9346:1: ( ')' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9347:1: ')'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getRightParenthesisKeyword_4_5()); 
            }
            match(input,49,FollowSets000.FOLLOW_49_in_rule__SimpleTerm__Group_4__5__Impl18920); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getRightParenthesisKeyword_4_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4__5__Impl


    // $ANTLR start rule__SimpleTerm__Group_4_4__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9372:1: rule__SimpleTerm__Group_4_4__0 : rule__SimpleTerm__Group_4_4__0__Impl rule__SimpleTerm__Group_4_4__1 ;
    public final void rule__SimpleTerm__Group_4_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9376:1: ( rule__SimpleTerm__Group_4_4__0__Impl rule__SimpleTerm__Group_4_4__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9377:2: rule__SimpleTerm__Group_4_4__0__Impl rule__SimpleTerm__Group_4_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4__0__Impl_in_rule__SimpleTerm__Group_4_4__018963);
            rule__SimpleTerm__Group_4_4__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4__1_in_rule__SimpleTerm__Group_4_4__018966);
            rule__SimpleTerm__Group_4_4__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4__0


    // $ANTLR start rule__SimpleTerm__Group_4_4__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9384:1: rule__SimpleTerm__Group_4_4__0__Impl : ( ( rule__SimpleTerm__ChildrenAssignment_4_4_0 ) ) ;
    public final void rule__SimpleTerm__Group_4_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9388:1: ( ( ( rule__SimpleTerm__ChildrenAssignment_4_4_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9389:1: ( ( rule__SimpleTerm__ChildrenAssignment_4_4_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9389:1: ( ( rule__SimpleTerm__ChildrenAssignment_4_4_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9390:1: ( rule__SimpleTerm__ChildrenAssignment_4_4_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenAssignment_4_4_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9391:1: ( rule__SimpleTerm__ChildrenAssignment_4_4_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9391:2: rule__SimpleTerm__ChildrenAssignment_4_4_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__ChildrenAssignment_4_4_0_in_rule__SimpleTerm__Group_4_4__0__Impl18993);
            rule__SimpleTerm__ChildrenAssignment_4_4_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenAssignment_4_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_4_4__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9401:1: rule__SimpleTerm__Group_4_4__1 : rule__SimpleTerm__Group_4_4__1__Impl ;
    public final void rule__SimpleTerm__Group_4_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9405:1: ( rule__SimpleTerm__Group_4_4__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9406:2: rule__SimpleTerm__Group_4_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4__1__Impl_in_rule__SimpleTerm__Group_4_4__119023);
            rule__SimpleTerm__Group_4_4__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4__1


    // $ANTLR start rule__SimpleTerm__Group_4_4__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9412:1: rule__SimpleTerm__Group_4_4__1__Impl : ( ( rule__SimpleTerm__Group_4_4_1__0 )* ) ;
    public final void rule__SimpleTerm__Group_4_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9416:1: ( ( ( rule__SimpleTerm__Group_4_4_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9417:1: ( ( rule__SimpleTerm__Group_4_4_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9417:1: ( ( rule__SimpleTerm__Group_4_4_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9418:1: ( rule__SimpleTerm__Group_4_4_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getGroup_4_4_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9419:1: ( rule__SimpleTerm__Group_4_4_1__0 )*
            loop65:
            do {
                int alt65=2;
                int LA65_0 = input.LA(1);

                if ( (LA65_0==51) ) {
                    alt65=1;
                }


                switch (alt65) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9419:2: rule__SimpleTerm__Group_4_4_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4_1__0_in_rule__SimpleTerm__Group_4_4__1__Impl19050);
            	    rule__SimpleTerm__Group_4_4_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop65;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getGroup_4_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_4_4_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9433:1: rule__SimpleTerm__Group_4_4_1__0 : rule__SimpleTerm__Group_4_4_1__0__Impl rule__SimpleTerm__Group_4_4_1__1 ;
    public final void rule__SimpleTerm__Group_4_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9437:1: ( rule__SimpleTerm__Group_4_4_1__0__Impl rule__SimpleTerm__Group_4_4_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9438:2: rule__SimpleTerm__Group_4_4_1__0__Impl rule__SimpleTerm__Group_4_4_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4_1__0__Impl_in_rule__SimpleTerm__Group_4_4_1__019085);
            rule__SimpleTerm__Group_4_4_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4_1__1_in_rule__SimpleTerm__Group_4_4_1__019088);
            rule__SimpleTerm__Group_4_4_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4_1__0


    // $ANTLR start rule__SimpleTerm__Group_4_4_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9445:1: rule__SimpleTerm__Group_4_4_1__0__Impl : ( ',' ) ;
    public final void rule__SimpleTerm__Group_4_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9449:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9450:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9450:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9451:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getCommaKeyword_4_4_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__SimpleTerm__Group_4_4_1__0__Impl19116); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getCommaKeyword_4_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4_1__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_4_4_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9464:1: rule__SimpleTerm__Group_4_4_1__1 : rule__SimpleTerm__Group_4_4_1__1__Impl ;
    public final void rule__SimpleTerm__Group_4_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9468:1: ( rule__SimpleTerm__Group_4_4_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9469:2: rule__SimpleTerm__Group_4_4_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_4_4_1__1__Impl_in_rule__SimpleTerm__Group_4_4_1__119147);
            rule__SimpleTerm__Group_4_4_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4_1__1


    // $ANTLR start rule__SimpleTerm__Group_4_4_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9475:1: rule__SimpleTerm__Group_4_4_1__1__Impl : ( ( rule__SimpleTerm__ChildrenAssignment_4_4_1_1 ) ) ;
    public final void rule__SimpleTerm__Group_4_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9479:1: ( ( ( rule__SimpleTerm__ChildrenAssignment_4_4_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9480:1: ( ( rule__SimpleTerm__ChildrenAssignment_4_4_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9480:1: ( ( rule__SimpleTerm__ChildrenAssignment_4_4_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9481:1: ( rule__SimpleTerm__ChildrenAssignment_4_4_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenAssignment_4_4_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9482:1: ( rule__SimpleTerm__ChildrenAssignment_4_4_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9482:2: rule__SimpleTerm__ChildrenAssignment_4_4_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__ChildrenAssignment_4_4_1_1_in_rule__SimpleTerm__Group_4_4_1__1__Impl19174);
            rule__SimpleTerm__ChildrenAssignment_4_4_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenAssignment_4_4_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_4_4_1__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_5__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9496:1: rule__SimpleTerm__Group_5__0 : rule__SimpleTerm__Group_5__0__Impl rule__SimpleTerm__Group_5__1 ;
    public final void rule__SimpleTerm__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9500:1: ( rule__SimpleTerm__Group_5__0__Impl rule__SimpleTerm__Group_5__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9501:2: rule__SimpleTerm__Group_5__0__Impl rule__SimpleTerm__Group_5__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_5__0__Impl_in_rule__SimpleTerm__Group_5__019208);
            rule__SimpleTerm__Group_5__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_5__1_in_rule__SimpleTerm__Group_5__019211);
            rule__SimpleTerm__Group_5__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_5__0


    // $ANTLR start rule__SimpleTerm__Group_5__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9508:1: rule__SimpleTerm__Group_5__0__Impl : ( ( rule__SimpleTerm__OperatorAssignment_5_0 ) ) ;
    public final void rule__SimpleTerm__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9512:1: ( ( ( rule__SimpleTerm__OperatorAssignment_5_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9513:1: ( ( rule__SimpleTerm__OperatorAssignment_5_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9513:1: ( ( rule__SimpleTerm__OperatorAssignment_5_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9514:1: ( rule__SimpleTerm__OperatorAssignment_5_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorAssignment_5_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9515:1: ( rule__SimpleTerm__OperatorAssignment_5_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9515:2: rule__SimpleTerm__OperatorAssignment_5_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__OperatorAssignment_5_0_in_rule__SimpleTerm__Group_5__0__Impl19238);
            rule__SimpleTerm__OperatorAssignment_5_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorAssignment_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_5__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_5__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9525:1: rule__SimpleTerm__Group_5__1 : rule__SimpleTerm__Group_5__1__Impl ;
    public final void rule__SimpleTerm__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9529:1: ( rule__SimpleTerm__Group_5__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9530:2: rule__SimpleTerm__Group_5__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_5__1__Impl_in_rule__SimpleTerm__Group_5__119268);
            rule__SimpleTerm__Group_5__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_5__1


    // $ANTLR start rule__SimpleTerm__Group_5__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9536:1: rule__SimpleTerm__Group_5__1__Impl : ( ( rule__SimpleTerm__ChildrenAssignment_5_1 ) ) ;
    public final void rule__SimpleTerm__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9540:1: ( ( ( rule__SimpleTerm__ChildrenAssignment_5_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9541:1: ( ( rule__SimpleTerm__ChildrenAssignment_5_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9541:1: ( ( rule__SimpleTerm__ChildrenAssignment_5_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9542:1: ( rule__SimpleTerm__ChildrenAssignment_5_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenAssignment_5_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9543:1: ( rule__SimpleTerm__ChildrenAssignment_5_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9543:2: rule__SimpleTerm__ChildrenAssignment_5_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__ChildrenAssignment_5_1_in_rule__SimpleTerm__Group_5__1__Impl19295);
            rule__SimpleTerm__ChildrenAssignment_5_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenAssignment_5_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_5__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_6__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9557:1: rule__SimpleTerm__Group_6__0 : rule__SimpleTerm__Group_6__0__Impl rule__SimpleTerm__Group_6__1 ;
    public final void rule__SimpleTerm__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9561:1: ( rule__SimpleTerm__Group_6__0__Impl rule__SimpleTerm__Group_6__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9562:2: rule__SimpleTerm__Group_6__0__Impl rule__SimpleTerm__Group_6__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_6__0__Impl_in_rule__SimpleTerm__Group_6__019329);
            rule__SimpleTerm__Group_6__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_6__1_in_rule__SimpleTerm__Group_6__019332);
            rule__SimpleTerm__Group_6__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_6__0


    // $ANTLR start rule__SimpleTerm__Group_6__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9569:1: rule__SimpleTerm__Group_6__0__Impl : ( ( rule__SimpleTerm__OperatorAssignment_6_0 ) ) ;
    public final void rule__SimpleTerm__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9573:1: ( ( ( rule__SimpleTerm__OperatorAssignment_6_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9574:1: ( ( rule__SimpleTerm__OperatorAssignment_6_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9574:1: ( ( rule__SimpleTerm__OperatorAssignment_6_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9575:1: ( rule__SimpleTerm__OperatorAssignment_6_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorAssignment_6_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9576:1: ( rule__SimpleTerm__OperatorAssignment_6_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9576:2: rule__SimpleTerm__OperatorAssignment_6_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__OperatorAssignment_6_0_in_rule__SimpleTerm__Group_6__0__Impl19359);
            rule__SimpleTerm__OperatorAssignment_6_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorAssignment_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_6__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_6__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9586:1: rule__SimpleTerm__Group_6__1 : rule__SimpleTerm__Group_6__1__Impl ;
    public final void rule__SimpleTerm__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9590:1: ( rule__SimpleTerm__Group_6__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9591:2: rule__SimpleTerm__Group_6__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_6__1__Impl_in_rule__SimpleTerm__Group_6__119389);
            rule__SimpleTerm__Group_6__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_6__1


    // $ANTLR start rule__SimpleTerm__Group_6__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9597:1: rule__SimpleTerm__Group_6__1__Impl : ( ( rule__SimpleTerm__ChildrenAssignment_6_1 ) ) ;
    public final void rule__SimpleTerm__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9601:1: ( ( ( rule__SimpleTerm__ChildrenAssignment_6_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9602:1: ( ( rule__SimpleTerm__ChildrenAssignment_6_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9602:1: ( ( rule__SimpleTerm__ChildrenAssignment_6_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9603:1: ( rule__SimpleTerm__ChildrenAssignment_6_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenAssignment_6_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9604:1: ( rule__SimpleTerm__ChildrenAssignment_6_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9604:2: rule__SimpleTerm__ChildrenAssignment_6_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__ChildrenAssignment_6_1_in_rule__SimpleTerm__Group_6__1__Impl19416);
            rule__SimpleTerm__ChildrenAssignment_6_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenAssignment_6_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_6__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_7__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9618:1: rule__SimpleTerm__Group_7__0 : rule__SimpleTerm__Group_7__0__Impl rule__SimpleTerm__Group_7__1 ;
    public final void rule__SimpleTerm__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9622:1: ( rule__SimpleTerm__Group_7__0__Impl rule__SimpleTerm__Group_7__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9623:2: rule__SimpleTerm__Group_7__0__Impl rule__SimpleTerm__Group_7__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_7__0__Impl_in_rule__SimpleTerm__Group_7__019450);
            rule__SimpleTerm__Group_7__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_7__1_in_rule__SimpleTerm__Group_7__019453);
            rule__SimpleTerm__Group_7__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_7__0


    // $ANTLR start rule__SimpleTerm__Group_7__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9630:1: rule__SimpleTerm__Group_7__0__Impl : ( ( rule__SimpleTerm__OperatorAssignment_7_0 ) ) ;
    public final void rule__SimpleTerm__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9634:1: ( ( ( rule__SimpleTerm__OperatorAssignment_7_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9635:1: ( ( rule__SimpleTerm__OperatorAssignment_7_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9635:1: ( ( rule__SimpleTerm__OperatorAssignment_7_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9636:1: ( rule__SimpleTerm__OperatorAssignment_7_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorAssignment_7_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9637:1: ( rule__SimpleTerm__OperatorAssignment_7_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9637:2: rule__SimpleTerm__OperatorAssignment_7_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__OperatorAssignment_7_0_in_rule__SimpleTerm__Group_7__0__Impl19480);
            rule__SimpleTerm__OperatorAssignment_7_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorAssignment_7_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_7__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_7__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9647:1: rule__SimpleTerm__Group_7__1 : rule__SimpleTerm__Group_7__1__Impl ;
    public final void rule__SimpleTerm__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9651:1: ( rule__SimpleTerm__Group_7__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9652:2: rule__SimpleTerm__Group_7__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_7__1__Impl_in_rule__SimpleTerm__Group_7__119510);
            rule__SimpleTerm__Group_7__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_7__1


    // $ANTLR start rule__SimpleTerm__Group_7__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9658:1: rule__SimpleTerm__Group_7__1__Impl : ( ( rule__SimpleTerm__ChildrenAssignment_7_1 ) ) ;
    public final void rule__SimpleTerm__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9662:1: ( ( ( rule__SimpleTerm__ChildrenAssignment_7_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9663:1: ( ( rule__SimpleTerm__ChildrenAssignment_7_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9663:1: ( ( rule__SimpleTerm__ChildrenAssignment_7_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9664:1: ( rule__SimpleTerm__ChildrenAssignment_7_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenAssignment_7_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9665:1: ( rule__SimpleTerm__ChildrenAssignment_7_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9665:2: rule__SimpleTerm__ChildrenAssignment_7_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__ChildrenAssignment_7_1_in_rule__SimpleTerm__Group_7__1__Impl19537);
            rule__SimpleTerm__ChildrenAssignment_7_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenAssignment_7_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_7__1__Impl


    // $ANTLR start rule__SimpleTerm__Group_8__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9679:1: rule__SimpleTerm__Group_8__0 : rule__SimpleTerm__Group_8__0__Impl rule__SimpleTerm__Group_8__1 ;
    public final void rule__SimpleTerm__Group_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9683:1: ( rule__SimpleTerm__Group_8__0__Impl rule__SimpleTerm__Group_8__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9684:2: rule__SimpleTerm__Group_8__0__Impl rule__SimpleTerm__Group_8__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_8__0__Impl_in_rule__SimpleTerm__Group_8__019571);
            rule__SimpleTerm__Group_8__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_8__1_in_rule__SimpleTerm__Group_8__019574);
            rule__SimpleTerm__Group_8__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_8__0


    // $ANTLR start rule__SimpleTerm__Group_8__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9691:1: rule__SimpleTerm__Group_8__0__Impl : ( ( rule__SimpleTerm__OperatorAssignment_8_0 ) ) ;
    public final void rule__SimpleTerm__Group_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9695:1: ( ( ( rule__SimpleTerm__OperatorAssignment_8_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9696:1: ( ( rule__SimpleTerm__OperatorAssignment_8_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9696:1: ( ( rule__SimpleTerm__OperatorAssignment_8_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9697:1: ( rule__SimpleTerm__OperatorAssignment_8_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorAssignment_8_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9698:1: ( rule__SimpleTerm__OperatorAssignment_8_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9698:2: rule__SimpleTerm__OperatorAssignment_8_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__OperatorAssignment_8_0_in_rule__SimpleTerm__Group_8__0__Impl19601);
            rule__SimpleTerm__OperatorAssignment_8_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorAssignment_8_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_8__0__Impl


    // $ANTLR start rule__SimpleTerm__Group_8__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9708:1: rule__SimpleTerm__Group_8__1 : rule__SimpleTerm__Group_8__1__Impl ;
    public final void rule__SimpleTerm__Group_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9712:1: ( rule__SimpleTerm__Group_8__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9713:2: rule__SimpleTerm__Group_8__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__Group_8__1__Impl_in_rule__SimpleTerm__Group_8__119631);
            rule__SimpleTerm__Group_8__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_8__1


    // $ANTLR start rule__SimpleTerm__Group_8__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9719:1: rule__SimpleTerm__Group_8__1__Impl : ( ( rule__SimpleTerm__ChildrenAssignment_8_1 ) ) ;
    public final void rule__SimpleTerm__Group_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9723:1: ( ( ( rule__SimpleTerm__ChildrenAssignment_8_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9724:1: ( ( rule__SimpleTerm__ChildrenAssignment_8_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9724:1: ( ( rule__SimpleTerm__ChildrenAssignment_8_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9725:1: ( rule__SimpleTerm__ChildrenAssignment_8_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenAssignment_8_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9726:1: ( rule__SimpleTerm__ChildrenAssignment_8_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9726:2: rule__SimpleTerm__ChildrenAssignment_8_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__ChildrenAssignment_8_1_in_rule__SimpleTerm__Group_8__1__Impl19658);
            rule__SimpleTerm__ChildrenAssignment_8_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenAssignment_8_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__Group_8__1__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9740:1: rule__PatternMatchInfoProxy__Group__0 : rule__PatternMatchInfoProxy__Group__0__Impl rule__PatternMatchInfoProxy__Group__1 ;
    public final void rule__PatternMatchInfoProxy__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9744:1: ( rule__PatternMatchInfoProxy__Group__0__Impl rule__PatternMatchInfoProxy__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9745:2: rule__PatternMatchInfoProxy__Group__0__Impl rule__PatternMatchInfoProxy__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__0__Impl_in_rule__PatternMatchInfoProxy__Group__019692);
            rule__PatternMatchInfoProxy__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__1_in_rule__PatternMatchInfoProxy__Group__019695);
            rule__PatternMatchInfoProxy__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__0


    // $ANTLR start rule__PatternMatchInfoProxy__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9752:1: rule__PatternMatchInfoProxy__Group__0__Impl : ( 'matchinfo' ) ;
    public final void rule__PatternMatchInfoProxy__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9756:1: ( ( 'matchinfo' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9757:1: ( 'matchinfo' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9757:1: ( 'matchinfo' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9758:1: 'matchinfo'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getMatchinfoKeyword_0()); 
            }
            match(input,70,FollowSets000.FOLLOW_70_in_rule__PatternMatchInfoProxy__Group__0__Impl19723); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getMatchinfoKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__0__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9771:1: rule__PatternMatchInfoProxy__Group__1 : rule__PatternMatchInfoProxy__Group__1__Impl rule__PatternMatchInfoProxy__Group__2 ;
    public final void rule__PatternMatchInfoProxy__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9775:1: ( rule__PatternMatchInfoProxy__Group__1__Impl rule__PatternMatchInfoProxy__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9776:2: rule__PatternMatchInfoProxy__Group__1__Impl rule__PatternMatchInfoProxy__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__1__Impl_in_rule__PatternMatchInfoProxy__Group__119754);
            rule__PatternMatchInfoProxy__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__2_in_rule__PatternMatchInfoProxy__Group__119757);
            rule__PatternMatchInfoProxy__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__1


    // $ANTLR start rule__PatternMatchInfoProxy__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9783:1: rule__PatternMatchInfoProxy__Group__1__Impl : ( ( rule__PatternMatchInfoProxy__NameAssignment_1 ) ) ;
    public final void rule__PatternMatchInfoProxy__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9787:1: ( ( ( rule__PatternMatchInfoProxy__NameAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9788:1: ( ( rule__PatternMatchInfoProxy__NameAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9788:1: ( ( rule__PatternMatchInfoProxy__NameAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9789:1: ( rule__PatternMatchInfoProxy__NameAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getNameAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9790:1: ( rule__PatternMatchInfoProxy__NameAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9790:2: rule__PatternMatchInfoProxy__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__NameAssignment_1_in_rule__PatternMatchInfoProxy__Group__1__Impl19784);
            rule__PatternMatchInfoProxy__NameAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__1__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9800:1: rule__PatternMatchInfoProxy__Group__2 : rule__PatternMatchInfoProxy__Group__2__Impl rule__PatternMatchInfoProxy__Group__3 ;
    public final void rule__PatternMatchInfoProxy__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9804:1: ( rule__PatternMatchInfoProxy__Group__2__Impl rule__PatternMatchInfoProxy__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9805:2: rule__PatternMatchInfoProxy__Group__2__Impl rule__PatternMatchInfoProxy__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__2__Impl_in_rule__PatternMatchInfoProxy__Group__219814);
            rule__PatternMatchInfoProxy__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__3_in_rule__PatternMatchInfoProxy__Group__219817);
            rule__PatternMatchInfoProxy__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__2


    // $ANTLR start rule__PatternMatchInfoProxy__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9812:1: rule__PatternMatchInfoProxy__Group__2__Impl : ( 'class' ) ;
    public final void rule__PatternMatchInfoProxy__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9816:1: ( ( 'class' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9817:1: ( 'class' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9817:1: ( 'class' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9818:1: 'class'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getClassKeyword_2()); 
            }
            match(input,71,FollowSets000.FOLLOW_71_in_rule__PatternMatchInfoProxy__Group__2__Impl19845); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getClassKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__2__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9831:1: rule__PatternMatchInfoProxy__Group__3 : rule__PatternMatchInfoProxy__Group__3__Impl rule__PatternMatchInfoProxy__Group__4 ;
    public final void rule__PatternMatchInfoProxy__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9835:1: ( rule__PatternMatchInfoProxy__Group__3__Impl rule__PatternMatchInfoProxy__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9836:2: rule__PatternMatchInfoProxy__Group__3__Impl rule__PatternMatchInfoProxy__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__3__Impl_in_rule__PatternMatchInfoProxy__Group__319876);
            rule__PatternMatchInfoProxy__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__4_in_rule__PatternMatchInfoProxy__Group__319879);
            rule__PatternMatchInfoProxy__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__3


    // $ANTLR start rule__PatternMatchInfoProxy__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9843:1: rule__PatternMatchInfoProxy__Group__3__Impl : ( ( rule__PatternMatchInfoProxy__BaseClassAssignment_3 ) ) ;
    public final void rule__PatternMatchInfoProxy__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9847:1: ( ( ( rule__PatternMatchInfoProxy__BaseClassAssignment_3 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9848:1: ( ( rule__PatternMatchInfoProxy__BaseClassAssignment_3 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9848:1: ( ( rule__PatternMatchInfoProxy__BaseClassAssignment_3 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9849:1: ( rule__PatternMatchInfoProxy__BaseClassAssignment_3 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getBaseClassAssignment_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9850:1: ( rule__PatternMatchInfoProxy__BaseClassAssignment_3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9850:2: rule__PatternMatchInfoProxy__BaseClassAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__BaseClassAssignment_3_in_rule__PatternMatchInfoProxy__Group__3__Impl19906);
            rule__PatternMatchInfoProxy__BaseClassAssignment_3();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getBaseClassAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__3__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9860:1: rule__PatternMatchInfoProxy__Group__4 : rule__PatternMatchInfoProxy__Group__4__Impl rule__PatternMatchInfoProxy__Group__5 ;
    public final void rule__PatternMatchInfoProxy__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9864:1: ( rule__PatternMatchInfoProxy__Group__4__Impl rule__PatternMatchInfoProxy__Group__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9865:2: rule__PatternMatchInfoProxy__Group__4__Impl rule__PatternMatchInfoProxy__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__4__Impl_in_rule__PatternMatchInfoProxy__Group__419936);
            rule__PatternMatchInfoProxy__Group__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__5_in_rule__PatternMatchInfoProxy__Group__419939);
            rule__PatternMatchInfoProxy__Group__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__4


    // $ANTLR start rule__PatternMatchInfoProxy__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9872:1: rule__PatternMatchInfoProxy__Group__4__Impl : ( ( rule__PatternMatchInfoProxy__Group_4__0 )? ) ;
    public final void rule__PatternMatchInfoProxy__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9876:1: ( ( ( rule__PatternMatchInfoProxy__Group_4__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9877:1: ( ( rule__PatternMatchInfoProxy__Group_4__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9877:1: ( ( rule__PatternMatchInfoProxy__Group_4__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9878:1: ( rule__PatternMatchInfoProxy__Group_4__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getGroup_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9879:1: ( rule__PatternMatchInfoProxy__Group_4__0 )?
            int alt66=2;
            int LA66_0 = input.LA(1);

            if ( (LA66_0==72) ) {
                alt66=1;
            }
            switch (alt66) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9879:2: rule__PatternMatchInfoProxy__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group_4__0_in_rule__PatternMatchInfoProxy__Group__4__Impl19966);
                    rule__PatternMatchInfoProxy__Group_4__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getGroup_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__4__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9889:1: rule__PatternMatchInfoProxy__Group__5 : rule__PatternMatchInfoProxy__Group__5__Impl ;
    public final void rule__PatternMatchInfoProxy__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9893:1: ( rule__PatternMatchInfoProxy__Group__5__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9894:2: rule__PatternMatchInfoProxy__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group__5__Impl_in_rule__PatternMatchInfoProxy__Group__519997);
            rule__PatternMatchInfoProxy__Group__5__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__5


    // $ANTLR start rule__PatternMatchInfoProxy__Group__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9900:1: rule__PatternMatchInfoProxy__Group__5__Impl : ( ( rule__PatternMatchInfoProxy__ChildrenAssignment_5 )? ) ;
    public final void rule__PatternMatchInfoProxy__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9904:1: ( ( ( rule__PatternMatchInfoProxy__ChildrenAssignment_5 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9905:1: ( ( rule__PatternMatchInfoProxy__ChildrenAssignment_5 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9905:1: ( ( rule__PatternMatchInfoProxy__ChildrenAssignment_5 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9906:1: ( rule__PatternMatchInfoProxy__ChildrenAssignment_5 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getChildrenAssignment_5()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9907:1: ( rule__PatternMatchInfoProxy__ChildrenAssignment_5 )?
            int alt67=2;
            int LA67_0 = input.LA(1);

            if ( (LA67_0==41) ) {
                alt67=1;
            }
            switch (alt67) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9907:2: rule__PatternMatchInfoProxy__ChildrenAssignment_5
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__ChildrenAssignment_5_in_rule__PatternMatchInfoProxy__Group__5__Impl20024);
                    rule__PatternMatchInfoProxy__ChildrenAssignment_5();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getChildrenAssignment_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group__5__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group_4__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9929:1: rule__PatternMatchInfoProxy__Group_4__0 : rule__PatternMatchInfoProxy__Group_4__0__Impl rule__PatternMatchInfoProxy__Group_4__1 ;
    public final void rule__PatternMatchInfoProxy__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9933:1: ( rule__PatternMatchInfoProxy__Group_4__0__Impl rule__PatternMatchInfoProxy__Group_4__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9934:2: rule__PatternMatchInfoProxy__Group_4__0__Impl rule__PatternMatchInfoProxy__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group_4__0__Impl_in_rule__PatternMatchInfoProxy__Group_4__020067);
            rule__PatternMatchInfoProxy__Group_4__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group_4__1_in_rule__PatternMatchInfoProxy__Group_4__020070);
            rule__PatternMatchInfoProxy__Group_4__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group_4__0


    // $ANTLR start rule__PatternMatchInfoProxy__Group_4__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9941:1: rule__PatternMatchInfoProxy__Group_4__0__Impl : ( 'factory' ) ;
    public final void rule__PatternMatchInfoProxy__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9945:1: ( ( 'factory' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9946:1: ( 'factory' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9946:1: ( 'factory' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9947:1: 'factory'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getFactoryKeyword_4_0()); 
            }
            match(input,72,FollowSets000.FOLLOW_72_in_rule__PatternMatchInfoProxy__Group_4__0__Impl20098); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getFactoryKeyword_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group_4__0__Impl


    // $ANTLR start rule__PatternMatchInfoProxy__Group_4__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9960:1: rule__PatternMatchInfoProxy__Group_4__1 : rule__PatternMatchInfoProxy__Group_4__1__Impl ;
    public final void rule__PatternMatchInfoProxy__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9964:1: ( rule__PatternMatchInfoProxy__Group_4__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9965:2: rule__PatternMatchInfoProxy__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__Group_4__1__Impl_in_rule__PatternMatchInfoProxy__Group_4__120129);
            rule__PatternMatchInfoProxy__Group_4__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group_4__1


    // $ANTLR start rule__PatternMatchInfoProxy__Group_4__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9971:1: rule__PatternMatchInfoProxy__Group_4__1__Impl : ( ( rule__PatternMatchInfoProxy__FactoryAssignment_4_1 ) ) ;
    public final void rule__PatternMatchInfoProxy__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9975:1: ( ( ( rule__PatternMatchInfoProxy__FactoryAssignment_4_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9976:1: ( ( rule__PatternMatchInfoProxy__FactoryAssignment_4_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9976:1: ( ( rule__PatternMatchInfoProxy__FactoryAssignment_4_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9977:1: ( rule__PatternMatchInfoProxy__FactoryAssignment_4_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getFactoryAssignment_4_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9978:1: ( rule__PatternMatchInfoProxy__FactoryAssignment_4_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9978:2: rule__PatternMatchInfoProxy__FactoryAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PatternMatchInfoProxy__FactoryAssignment_4_1_in_rule__PatternMatchInfoProxy__Group_4__1__Impl20156);
            rule__PatternMatchInfoProxy__FactoryAssignment_4_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getFactoryAssignment_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__Group_4__1__Impl


    // $ANTLR start rule__LocatorProxy__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9992:1: rule__LocatorProxy__Group__0 : rule__LocatorProxy__Group__0__Impl rule__LocatorProxy__Group__1 ;
    public final void rule__LocatorProxy__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9996:1: ( rule__LocatorProxy__Group__0__Impl rule__LocatorProxy__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:9997:2: rule__LocatorProxy__Group__0__Impl rule__LocatorProxy__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__0__Impl_in_rule__LocatorProxy__Group__020190);
            rule__LocatorProxy__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__1_in_rule__LocatorProxy__Group__020193);
            rule__LocatorProxy__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__0


    // $ANTLR start rule__LocatorProxy__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10004:1: rule__LocatorProxy__Group__0__Impl : ( 'locator' ) ;
    public final void rule__LocatorProxy__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10008:1: ( ( 'locator' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10009:1: ( 'locator' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10009:1: ( 'locator' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10010:1: 'locator'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getLocatorKeyword_0()); 
            }
            match(input,73,FollowSets000.FOLLOW_73_in_rule__LocatorProxy__Group__0__Impl20221); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getLocatorKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__0__Impl


    // $ANTLR start rule__LocatorProxy__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10023:1: rule__LocatorProxy__Group__1 : rule__LocatorProxy__Group__1__Impl rule__LocatorProxy__Group__2 ;
    public final void rule__LocatorProxy__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10027:1: ( rule__LocatorProxy__Group__1__Impl rule__LocatorProxy__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10028:2: rule__LocatorProxy__Group__1__Impl rule__LocatorProxy__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__1__Impl_in_rule__LocatorProxy__Group__120252);
            rule__LocatorProxy__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__2_in_rule__LocatorProxy__Group__120255);
            rule__LocatorProxy__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__1


    // $ANTLR start rule__LocatorProxy__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10035:1: rule__LocatorProxy__Group__1__Impl : ( ( rule__LocatorProxy__NameAssignment_1 ) ) ;
    public final void rule__LocatorProxy__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10039:1: ( ( ( rule__LocatorProxy__NameAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10040:1: ( ( rule__LocatorProxy__NameAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10040:1: ( ( rule__LocatorProxy__NameAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10041:1: ( rule__LocatorProxy__NameAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getNameAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10042:1: ( rule__LocatorProxy__NameAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10042:2: rule__LocatorProxy__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__NameAssignment_1_in_rule__LocatorProxy__Group__1__Impl20282);
            rule__LocatorProxy__NameAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__1__Impl


    // $ANTLR start rule__LocatorProxy__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10052:1: rule__LocatorProxy__Group__2 : rule__LocatorProxy__Group__2__Impl rule__LocatorProxy__Group__3 ;
    public final void rule__LocatorProxy__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10056:1: ( rule__LocatorProxy__Group__2__Impl rule__LocatorProxy__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10057:2: rule__LocatorProxy__Group__2__Impl rule__LocatorProxy__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__2__Impl_in_rule__LocatorProxy__Group__220312);
            rule__LocatorProxy__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__3_in_rule__LocatorProxy__Group__220315);
            rule__LocatorProxy__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__2


    // $ANTLR start rule__LocatorProxy__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10064:1: rule__LocatorProxy__Group__2__Impl : ( 'class' ) ;
    public final void rule__LocatorProxy__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10068:1: ( ( 'class' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10069:1: ( 'class' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10069:1: ( 'class' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10070:1: 'class'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getClassKeyword_2()); 
            }
            match(input,71,FollowSets000.FOLLOW_71_in_rule__LocatorProxy__Group__2__Impl20343); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getClassKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__2__Impl


    // $ANTLR start rule__LocatorProxy__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10083:1: rule__LocatorProxy__Group__3 : rule__LocatorProxy__Group__3__Impl rule__LocatorProxy__Group__4 ;
    public final void rule__LocatorProxy__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10087:1: ( rule__LocatorProxy__Group__3__Impl rule__LocatorProxy__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10088:2: rule__LocatorProxy__Group__3__Impl rule__LocatorProxy__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__3__Impl_in_rule__LocatorProxy__Group__320374);
            rule__LocatorProxy__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__4_in_rule__LocatorProxy__Group__320377);
            rule__LocatorProxy__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__3


    // $ANTLR start rule__LocatorProxy__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10095:1: rule__LocatorProxy__Group__3__Impl : ( ( rule__LocatorProxy__BaseClassAssignment_3 ) ) ;
    public final void rule__LocatorProxy__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10099:1: ( ( ( rule__LocatorProxy__BaseClassAssignment_3 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10100:1: ( ( rule__LocatorProxy__BaseClassAssignment_3 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10100:1: ( ( rule__LocatorProxy__BaseClassAssignment_3 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10101:1: ( rule__LocatorProxy__BaseClassAssignment_3 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getBaseClassAssignment_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10102:1: ( rule__LocatorProxy__BaseClassAssignment_3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10102:2: rule__LocatorProxy__BaseClassAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__BaseClassAssignment_3_in_rule__LocatorProxy__Group__3__Impl20404);
            rule__LocatorProxy__BaseClassAssignment_3();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getBaseClassAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__3__Impl


    // $ANTLR start rule__LocatorProxy__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10112:1: rule__LocatorProxy__Group__4 : rule__LocatorProxy__Group__4__Impl rule__LocatorProxy__Group__5 ;
    public final void rule__LocatorProxy__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10116:1: ( rule__LocatorProxy__Group__4__Impl rule__LocatorProxy__Group__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10117:2: rule__LocatorProxy__Group__4__Impl rule__LocatorProxy__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__4__Impl_in_rule__LocatorProxy__Group__420434);
            rule__LocatorProxy__Group__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__5_in_rule__LocatorProxy__Group__420437);
            rule__LocatorProxy__Group__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__4


    // $ANTLR start rule__LocatorProxy__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10124:1: rule__LocatorProxy__Group__4__Impl : ( ( rule__LocatorProxy__Group_4__0 )? ) ;
    public final void rule__LocatorProxy__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10128:1: ( ( ( rule__LocatorProxy__Group_4__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10129:1: ( ( rule__LocatorProxy__Group_4__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10129:1: ( ( rule__LocatorProxy__Group_4__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10130:1: ( rule__LocatorProxy__Group_4__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getGroup_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10131:1: ( rule__LocatorProxy__Group_4__0 )?
            int alt68=2;
            int LA68_0 = input.LA(1);

            if ( (LA68_0==72) ) {
                alt68=1;
            }
            switch (alt68) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10131:2: rule__LocatorProxy__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group_4__0_in_rule__LocatorProxy__Group__4__Impl20464);
                    rule__LocatorProxy__Group_4__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getGroup_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__4__Impl


    // $ANTLR start rule__LocatorProxy__Group__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10141:1: rule__LocatorProxy__Group__5 : rule__LocatorProxy__Group__5__Impl ;
    public final void rule__LocatorProxy__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10145:1: ( rule__LocatorProxy__Group__5__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10146:2: rule__LocatorProxy__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group__5__Impl_in_rule__LocatorProxy__Group__520495);
            rule__LocatorProxy__Group__5__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__5


    // $ANTLR start rule__LocatorProxy__Group__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10152:1: rule__LocatorProxy__Group__5__Impl : ( ( rule__LocatorProxy__ChildrenAssignment_5 )? ) ;
    public final void rule__LocatorProxy__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10156:1: ( ( ( rule__LocatorProxy__ChildrenAssignment_5 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10157:1: ( ( rule__LocatorProxy__ChildrenAssignment_5 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10157:1: ( ( rule__LocatorProxy__ChildrenAssignment_5 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10158:1: ( rule__LocatorProxy__ChildrenAssignment_5 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getChildrenAssignment_5()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10159:1: ( rule__LocatorProxy__ChildrenAssignment_5 )?
            int alt69=2;
            int LA69_0 = input.LA(1);

            if ( (LA69_0==41) ) {
                alt69=1;
            }
            switch (alt69) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10159:2: rule__LocatorProxy__ChildrenAssignment_5
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__ChildrenAssignment_5_in_rule__LocatorProxy__Group__5__Impl20522);
                    rule__LocatorProxy__ChildrenAssignment_5();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getChildrenAssignment_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group__5__Impl


    // $ANTLR start rule__LocatorProxy__Group_4__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10181:1: rule__LocatorProxy__Group_4__0 : rule__LocatorProxy__Group_4__0__Impl rule__LocatorProxy__Group_4__1 ;
    public final void rule__LocatorProxy__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10185:1: ( rule__LocatorProxy__Group_4__0__Impl rule__LocatorProxy__Group_4__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10186:2: rule__LocatorProxy__Group_4__0__Impl rule__LocatorProxy__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group_4__0__Impl_in_rule__LocatorProxy__Group_4__020565);
            rule__LocatorProxy__Group_4__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group_4__1_in_rule__LocatorProxy__Group_4__020568);
            rule__LocatorProxy__Group_4__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group_4__0


    // $ANTLR start rule__LocatorProxy__Group_4__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10193:1: rule__LocatorProxy__Group_4__0__Impl : ( 'factory' ) ;
    public final void rule__LocatorProxy__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10197:1: ( ( 'factory' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10198:1: ( 'factory' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10198:1: ( 'factory' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10199:1: 'factory'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getFactoryKeyword_4_0()); 
            }
            match(input,72,FollowSets000.FOLLOW_72_in_rule__LocatorProxy__Group_4__0__Impl20596); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getFactoryKeyword_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group_4__0__Impl


    // $ANTLR start rule__LocatorProxy__Group_4__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10212:1: rule__LocatorProxy__Group_4__1 : rule__LocatorProxy__Group_4__1__Impl ;
    public final void rule__LocatorProxy__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10216:1: ( rule__LocatorProxy__Group_4__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10217:2: rule__LocatorProxy__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__Group_4__1__Impl_in_rule__LocatorProxy__Group_4__120627);
            rule__LocatorProxy__Group_4__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group_4__1


    // $ANTLR start rule__LocatorProxy__Group_4__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10223:1: rule__LocatorProxy__Group_4__1__Impl : ( ( rule__LocatorProxy__FactoryAssignment_4_1 ) ) ;
    public final void rule__LocatorProxy__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10227:1: ( ( ( rule__LocatorProxy__FactoryAssignment_4_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10228:1: ( ( rule__LocatorProxy__FactoryAssignment_4_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10228:1: ( ( rule__LocatorProxy__FactoryAssignment_4_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10229:1: ( rule__LocatorProxy__FactoryAssignment_4_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getFactoryAssignment_4_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10230:1: ( rule__LocatorProxy__FactoryAssignment_4_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10230:2: rule__LocatorProxy__FactoryAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocatorProxy__FactoryAssignment_4_1_in_rule__LocatorProxy__Group_4__1__Impl20654);
            rule__LocatorProxy__FactoryAssignment_4_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getFactoryAssignment_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__Group_4__1__Impl


    // $ANTLR start rule__TypeProxy__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10244:1: rule__TypeProxy__Group__0 : rule__TypeProxy__Group__0__Impl rule__TypeProxy__Group__1 ;
    public final void rule__TypeProxy__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10248:1: ( rule__TypeProxy__Group__0__Impl rule__TypeProxy__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10249:2: rule__TypeProxy__Group__0__Impl rule__TypeProxy__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__0__Impl_in_rule__TypeProxy__Group__020688);
            rule__TypeProxy__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__1_in_rule__TypeProxy__Group__020691);
            rule__TypeProxy__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__0


    // $ANTLR start rule__TypeProxy__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10256:1: rule__TypeProxy__Group__0__Impl : ( 'type' ) ;
    public final void rule__TypeProxy__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10260:1: ( ( 'type' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10261:1: ( 'type' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10261:1: ( 'type' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10262:1: 'type'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getTypeKeyword_0()); 
            }
            match(input,74,FollowSets000.FOLLOW_74_in_rule__TypeProxy__Group__0__Impl20719); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getTypeKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__0__Impl


    // $ANTLR start rule__TypeProxy__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10275:1: rule__TypeProxy__Group__1 : rule__TypeProxy__Group__1__Impl rule__TypeProxy__Group__2 ;
    public final void rule__TypeProxy__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10279:1: ( rule__TypeProxy__Group__1__Impl rule__TypeProxy__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10280:2: rule__TypeProxy__Group__1__Impl rule__TypeProxy__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__1__Impl_in_rule__TypeProxy__Group__120750);
            rule__TypeProxy__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__2_in_rule__TypeProxy__Group__120753);
            rule__TypeProxy__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__1


    // $ANTLR start rule__TypeProxy__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10287:1: rule__TypeProxy__Group__1__Impl : ( ( rule__TypeProxy__NameAssignment_1 ) ) ;
    public final void rule__TypeProxy__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10291:1: ( ( ( rule__TypeProxy__NameAssignment_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10292:1: ( ( rule__TypeProxy__NameAssignment_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10292:1: ( ( rule__TypeProxy__NameAssignment_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10293:1: ( rule__TypeProxy__NameAssignment_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getNameAssignment_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10294:1: ( rule__TypeProxy__NameAssignment_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10294:2: rule__TypeProxy__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__NameAssignment_1_in_rule__TypeProxy__Group__1__Impl20780);
            rule__TypeProxy__NameAssignment_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__1__Impl


    // $ANTLR start rule__TypeProxy__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10304:1: rule__TypeProxy__Group__2 : rule__TypeProxy__Group__2__Impl rule__TypeProxy__Group__3 ;
    public final void rule__TypeProxy__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10308:1: ( rule__TypeProxy__Group__2__Impl rule__TypeProxy__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10309:2: rule__TypeProxy__Group__2__Impl rule__TypeProxy__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__2__Impl_in_rule__TypeProxy__Group__220810);
            rule__TypeProxy__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__3_in_rule__TypeProxy__Group__220813);
            rule__TypeProxy__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__2


    // $ANTLR start rule__TypeProxy__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10316:1: rule__TypeProxy__Group__2__Impl : ( '=' ) ;
    public final void rule__TypeProxy__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10320:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10321:1: ( '=' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10321:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10322:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getEqualsSignKeyword_2()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__TypeProxy__Group__2__Impl20841); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getEqualsSignKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__2__Impl


    // $ANTLR start rule__TypeProxy__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10335:1: rule__TypeProxy__Group__3 : rule__TypeProxy__Group__3__Impl rule__TypeProxy__Group__4 ;
    public final void rule__TypeProxy__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10339:1: ( rule__TypeProxy__Group__3__Impl rule__TypeProxy__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10340:2: rule__TypeProxy__Group__3__Impl rule__TypeProxy__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__3__Impl_in_rule__TypeProxy__Group__320872);
            rule__TypeProxy__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__4_in_rule__TypeProxy__Group__320875);
            rule__TypeProxy__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__3


    // $ANTLR start rule__TypeProxy__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10347:1: rule__TypeProxy__Group__3__Impl : ( ( rule__TypeProxy__BaseClassAssignment_3 ) ) ;
    public final void rule__TypeProxy__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10351:1: ( ( ( rule__TypeProxy__BaseClassAssignment_3 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10352:1: ( ( rule__TypeProxy__BaseClassAssignment_3 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10352:1: ( ( rule__TypeProxy__BaseClassAssignment_3 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10353:1: ( rule__TypeProxy__BaseClassAssignment_3 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getBaseClassAssignment_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10354:1: ( rule__TypeProxy__BaseClassAssignment_3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10354:2: rule__TypeProxy__BaseClassAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__BaseClassAssignment_3_in_rule__TypeProxy__Group__3__Impl20902);
            rule__TypeProxy__BaseClassAssignment_3();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getBaseClassAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__3__Impl


    // $ANTLR start rule__TypeProxy__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10364:1: rule__TypeProxy__Group__4 : rule__TypeProxy__Group__4__Impl rule__TypeProxy__Group__5 ;
    public final void rule__TypeProxy__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10368:1: ( rule__TypeProxy__Group__4__Impl rule__TypeProxy__Group__5 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10369:2: rule__TypeProxy__Group__4__Impl rule__TypeProxy__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__4__Impl_in_rule__TypeProxy__Group__420932);
            rule__TypeProxy__Group__4__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__5_in_rule__TypeProxy__Group__420935);
            rule__TypeProxy__Group__5();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__4


    // $ANTLR start rule__TypeProxy__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10376:1: rule__TypeProxy__Group__4__Impl : ( ( rule__TypeProxy__Group_4__0 )? ) ;
    public final void rule__TypeProxy__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10380:1: ( ( ( rule__TypeProxy__Group_4__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10381:1: ( ( rule__TypeProxy__Group_4__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10381:1: ( ( rule__TypeProxy__Group_4__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10382:1: ( rule__TypeProxy__Group_4__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getGroup_4()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10383:1: ( rule__TypeProxy__Group_4__0 )?
            int alt70=2;
            int LA70_0 = input.LA(1);

            if ( (LA70_0==72) ) {
                alt70=1;
            }
            switch (alt70) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10383:2: rule__TypeProxy__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group_4__0_in_rule__TypeProxy__Group__4__Impl20962);
                    rule__TypeProxy__Group_4__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getGroup_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__4__Impl


    // $ANTLR start rule__TypeProxy__Group__5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10393:1: rule__TypeProxy__Group__5 : rule__TypeProxy__Group__5__Impl ;
    public final void rule__TypeProxy__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10397:1: ( rule__TypeProxy__Group__5__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10398:2: rule__TypeProxy__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group__5__Impl_in_rule__TypeProxy__Group__520993);
            rule__TypeProxy__Group__5__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__5


    // $ANTLR start rule__TypeProxy__Group__5__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10404:1: rule__TypeProxy__Group__5__Impl : ( ( rule__TypeProxy__ChildrenAssignment_5 )? ) ;
    public final void rule__TypeProxy__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10408:1: ( ( ( rule__TypeProxy__ChildrenAssignment_5 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10409:1: ( ( rule__TypeProxy__ChildrenAssignment_5 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10409:1: ( ( rule__TypeProxy__ChildrenAssignment_5 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10410:1: ( rule__TypeProxy__ChildrenAssignment_5 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getChildrenAssignment_5()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10411:1: ( rule__TypeProxy__ChildrenAssignment_5 )?
            int alt71=2;
            int LA71_0 = input.LA(1);

            if ( (LA71_0==41) ) {
                alt71=1;
            }
            switch (alt71) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10411:2: rule__TypeProxy__ChildrenAssignment_5
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__ChildrenAssignment_5_in_rule__TypeProxy__Group__5__Impl21020);
                    rule__TypeProxy__ChildrenAssignment_5();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getChildrenAssignment_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group__5__Impl


    // $ANTLR start rule__TypeProxy__Group_4__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10433:1: rule__TypeProxy__Group_4__0 : rule__TypeProxy__Group_4__0__Impl rule__TypeProxy__Group_4__1 ;
    public final void rule__TypeProxy__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10437:1: ( rule__TypeProxy__Group_4__0__Impl rule__TypeProxy__Group_4__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10438:2: rule__TypeProxy__Group_4__0__Impl rule__TypeProxy__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group_4__0__Impl_in_rule__TypeProxy__Group_4__021063);
            rule__TypeProxy__Group_4__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group_4__1_in_rule__TypeProxy__Group_4__021066);
            rule__TypeProxy__Group_4__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group_4__0


    // $ANTLR start rule__TypeProxy__Group_4__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10445:1: rule__TypeProxy__Group_4__0__Impl : ( 'factory' ) ;
    public final void rule__TypeProxy__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10449:1: ( ( 'factory' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10450:1: ( 'factory' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10450:1: ( 'factory' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10451:1: 'factory'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getFactoryKeyword_4_0()); 
            }
            match(input,72,FollowSets000.FOLLOW_72_in_rule__TypeProxy__Group_4__0__Impl21094); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getFactoryKeyword_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group_4__0__Impl


    // $ANTLR start rule__TypeProxy__Group_4__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10464:1: rule__TypeProxy__Group_4__1 : rule__TypeProxy__Group_4__1__Impl ;
    public final void rule__TypeProxy__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10468:1: ( rule__TypeProxy__Group_4__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10469:2: rule__TypeProxy__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__Group_4__1__Impl_in_rule__TypeProxy__Group_4__121125);
            rule__TypeProxy__Group_4__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group_4__1


    // $ANTLR start rule__TypeProxy__Group_4__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10475:1: rule__TypeProxy__Group_4__1__Impl : ( ( rule__TypeProxy__FactoryAssignment_4_1 ) ) ;
    public final void rule__TypeProxy__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10479:1: ( ( ( rule__TypeProxy__FactoryAssignment_4_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10480:1: ( ( rule__TypeProxy__FactoryAssignment_4_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10480:1: ( ( rule__TypeProxy__FactoryAssignment_4_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10481:1: ( rule__TypeProxy__FactoryAssignment_4_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getFactoryAssignment_4_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10482:1: ( rule__TypeProxy__FactoryAssignment_4_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10482:2: rule__TypeProxy__FactoryAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__TypeProxy__FactoryAssignment_4_1_in_rule__TypeProxy__Group_4__1__Impl21152);
            rule__TypeProxy__FactoryAssignment_4_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getFactoryAssignment_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__Group_4__1__Impl


    // $ANTLR start rule__ProxyArgument__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10496:1: rule__ProxyArgument__Group__0 : rule__ProxyArgument__Group__0__Impl rule__ProxyArgument__Group__1 ;
    public final void rule__ProxyArgument__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10500:1: ( rule__ProxyArgument__Group__0__Impl rule__ProxyArgument__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10501:2: rule__ProxyArgument__Group__0__Impl rule__ProxyArgument__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__0__Impl_in_rule__ProxyArgument__Group__021186);
            rule__ProxyArgument__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__1_in_rule__ProxyArgument__Group__021189);
            rule__ProxyArgument__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__0


    // $ANTLR start rule__ProxyArgument__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10508:1: rule__ProxyArgument__Group__0__Impl : ( () ) ;
    public final void rule__ProxyArgument__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10512:1: ( ( () ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10513:1: ( () )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10513:1: ( () )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10514:1: ()
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getElementAction_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10515:1: ()
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10517:1: 
            {
            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getElementAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__0__Impl


    // $ANTLR start rule__ProxyArgument__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10527:1: rule__ProxyArgument__Group__1 : rule__ProxyArgument__Group__1__Impl rule__ProxyArgument__Group__2 ;
    public final void rule__ProxyArgument__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10531:1: ( rule__ProxyArgument__Group__1__Impl rule__ProxyArgument__Group__2 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10532:2: rule__ProxyArgument__Group__1__Impl rule__ProxyArgument__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__1__Impl_in_rule__ProxyArgument__Group__121247);
            rule__ProxyArgument__Group__1__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__2_in_rule__ProxyArgument__Group__121250);
            rule__ProxyArgument__Group__2();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__1


    // $ANTLR start rule__ProxyArgument__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10539:1: rule__ProxyArgument__Group__1__Impl : ( 'arguments' ) ;
    public final void rule__ProxyArgument__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10543:1: ( ( 'arguments' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10544:1: ( 'arguments' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10544:1: ( 'arguments' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10545:1: 'arguments'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getArgumentsKeyword_1()); 
            }
            match(input,41,FollowSets000.FOLLOW_41_in_rule__ProxyArgument__Group__1__Impl21278); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getArgumentsKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__1__Impl


    // $ANTLR start rule__ProxyArgument__Group__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10558:1: rule__ProxyArgument__Group__2 : rule__ProxyArgument__Group__2__Impl rule__ProxyArgument__Group__3 ;
    public final void rule__ProxyArgument__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10562:1: ( rule__ProxyArgument__Group__2__Impl rule__ProxyArgument__Group__3 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10563:2: rule__ProxyArgument__Group__2__Impl rule__ProxyArgument__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__2__Impl_in_rule__ProxyArgument__Group__221309);
            rule__ProxyArgument__Group__2__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__3_in_rule__ProxyArgument__Group__221312);
            rule__ProxyArgument__Group__3();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__2


    // $ANTLR start rule__ProxyArgument__Group__2__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10570:1: rule__ProxyArgument__Group__2__Impl : ( '{' ) ;
    public final void rule__ProxyArgument__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10574:1: ( ( '{' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10575:1: ( '{' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10575:1: ( '{' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10576:1: '{'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getLeftCurlyBracketKeyword_2()); 
            }
            match(input,54,FollowSets000.FOLLOW_54_in_rule__ProxyArgument__Group__2__Impl21340); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getLeftCurlyBracketKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__2__Impl


    // $ANTLR start rule__ProxyArgument__Group__3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10589:1: rule__ProxyArgument__Group__3 : rule__ProxyArgument__Group__3__Impl rule__ProxyArgument__Group__4 ;
    public final void rule__ProxyArgument__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10593:1: ( rule__ProxyArgument__Group__3__Impl rule__ProxyArgument__Group__4 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10594:2: rule__ProxyArgument__Group__3__Impl rule__ProxyArgument__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__3__Impl_in_rule__ProxyArgument__Group__321371);
            rule__ProxyArgument__Group__3__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__4_in_rule__ProxyArgument__Group__321374);
            rule__ProxyArgument__Group__4();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__3


    // $ANTLR start rule__ProxyArgument__Group__3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10601:1: rule__ProxyArgument__Group__3__Impl : ( ( rule__ProxyArgument__Group_3__0 )? ) ;
    public final void rule__ProxyArgument__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10605:1: ( ( ( rule__ProxyArgument__Group_3__0 )? ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10606:1: ( ( rule__ProxyArgument__Group_3__0 )? )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10606:1: ( ( rule__ProxyArgument__Group_3__0 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10607:1: ( rule__ProxyArgument__Group_3__0 )?
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getGroup_3()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10608:1: ( rule__ProxyArgument__Group_3__0 )?
            int alt72=2;
            int LA72_0 = input.LA(1);

            if ( ((LA72_0>=RULE_ID && LA72_0<=RULE_INT)||(LA72_0>=36 && LA72_0<=43)||LA72_0==48||LA72_0==54||LA72_0==61||LA72_0==67||LA72_0==69||LA72_0==82||(LA72_0>=84 && LA72_0<=88)) ) {
                alt72=1;
            }
            switch (alt72) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10608:2: rule__ProxyArgument__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3__0_in_rule__ProxyArgument__Group__3__Impl21401);
                    rule__ProxyArgument__Group_3__0();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__3__Impl


    // $ANTLR start rule__ProxyArgument__Group__4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10618:1: rule__ProxyArgument__Group__4 : rule__ProxyArgument__Group__4__Impl ;
    public final void rule__ProxyArgument__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10622:1: ( rule__ProxyArgument__Group__4__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10623:2: rule__ProxyArgument__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group__4__Impl_in_rule__ProxyArgument__Group__421432);
            rule__ProxyArgument__Group__4__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__4


    // $ANTLR start rule__ProxyArgument__Group__4__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10629:1: rule__ProxyArgument__Group__4__Impl : ( '}' ) ;
    public final void rule__ProxyArgument__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10633:1: ( ( '}' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10634:1: ( '}' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10634:1: ( '}' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10635:1: '}'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getRightCurlyBracketKeyword_4()); 
            }
            match(input,55,FollowSets000.FOLLOW_55_in_rule__ProxyArgument__Group__4__Impl21460); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getRightCurlyBracketKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group__4__Impl


    // $ANTLR start rule__ProxyArgument__Group_3__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10658:1: rule__ProxyArgument__Group_3__0 : rule__ProxyArgument__Group_3__0__Impl rule__ProxyArgument__Group_3__1 ;
    public final void rule__ProxyArgument__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10662:1: ( rule__ProxyArgument__Group_3__0__Impl rule__ProxyArgument__Group_3__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10663:2: rule__ProxyArgument__Group_3__0__Impl rule__ProxyArgument__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3__0__Impl_in_rule__ProxyArgument__Group_3__021501);
            rule__ProxyArgument__Group_3__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3__1_in_rule__ProxyArgument__Group_3__021504);
            rule__ProxyArgument__Group_3__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3__0


    // $ANTLR start rule__ProxyArgument__Group_3__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10670:1: rule__ProxyArgument__Group_3__0__Impl : ( ( rule__ProxyArgument__ChildrenAssignment_3_0 ) ) ;
    public final void rule__ProxyArgument__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10674:1: ( ( ( rule__ProxyArgument__ChildrenAssignment_3_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10675:1: ( ( rule__ProxyArgument__ChildrenAssignment_3_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10675:1: ( ( rule__ProxyArgument__ChildrenAssignment_3_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10676:1: ( rule__ProxyArgument__ChildrenAssignment_3_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getChildrenAssignment_3_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10677:1: ( rule__ProxyArgument__ChildrenAssignment_3_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10677:2: rule__ProxyArgument__ChildrenAssignment_3_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__ChildrenAssignment_3_0_in_rule__ProxyArgument__Group_3__0__Impl21531);
            rule__ProxyArgument__ChildrenAssignment_3_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getChildrenAssignment_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3__0__Impl


    // $ANTLR start rule__ProxyArgument__Group_3__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10687:1: rule__ProxyArgument__Group_3__1 : rule__ProxyArgument__Group_3__1__Impl ;
    public final void rule__ProxyArgument__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10691:1: ( rule__ProxyArgument__Group_3__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10692:2: rule__ProxyArgument__Group_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3__1__Impl_in_rule__ProxyArgument__Group_3__121561);
            rule__ProxyArgument__Group_3__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3__1


    // $ANTLR start rule__ProxyArgument__Group_3__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10698:1: rule__ProxyArgument__Group_3__1__Impl : ( ( rule__ProxyArgument__Group_3_1__0 )* ) ;
    public final void rule__ProxyArgument__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10702:1: ( ( ( rule__ProxyArgument__Group_3_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10703:1: ( ( rule__ProxyArgument__Group_3_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10703:1: ( ( rule__ProxyArgument__Group_3_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10704:1: ( rule__ProxyArgument__Group_3_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getGroup_3_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10705:1: ( rule__ProxyArgument__Group_3_1__0 )*
            loop73:
            do {
                int alt73=2;
                int LA73_0 = input.LA(1);

                if ( (LA73_0==51) ) {
                    alt73=1;
                }


                switch (alt73) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10705:2: rule__ProxyArgument__Group_3_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3_1__0_in_rule__ProxyArgument__Group_3__1__Impl21588);
            	    rule__ProxyArgument__Group_3_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop73;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getGroup_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3__1__Impl


    // $ANTLR start rule__ProxyArgument__Group_3_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10719:1: rule__ProxyArgument__Group_3_1__0 : rule__ProxyArgument__Group_3_1__0__Impl rule__ProxyArgument__Group_3_1__1 ;
    public final void rule__ProxyArgument__Group_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10723:1: ( rule__ProxyArgument__Group_3_1__0__Impl rule__ProxyArgument__Group_3_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10724:2: rule__ProxyArgument__Group_3_1__0__Impl rule__ProxyArgument__Group_3_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3_1__0__Impl_in_rule__ProxyArgument__Group_3_1__021623);
            rule__ProxyArgument__Group_3_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3_1__1_in_rule__ProxyArgument__Group_3_1__021626);
            rule__ProxyArgument__Group_3_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3_1__0


    // $ANTLR start rule__ProxyArgument__Group_3_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10731:1: rule__ProxyArgument__Group_3_1__0__Impl : ( ',' ) ;
    public final void rule__ProxyArgument__Group_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10735:1: ( ( ',' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10736:1: ( ',' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10736:1: ( ',' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10737:1: ','
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getCommaKeyword_3_1_0()); 
            }
            match(input,51,FollowSets000.FOLLOW_51_in_rule__ProxyArgument__Group_3_1__0__Impl21654); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getCommaKeyword_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3_1__0__Impl


    // $ANTLR start rule__ProxyArgument__Group_3_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10750:1: rule__ProxyArgument__Group_3_1__1 : rule__ProxyArgument__Group_3_1__1__Impl ;
    public final void rule__ProxyArgument__Group_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10754:1: ( rule__ProxyArgument__Group_3_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10755:2: rule__ProxyArgument__Group_3_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__Group_3_1__1__Impl_in_rule__ProxyArgument__Group_3_1__121685);
            rule__ProxyArgument__Group_3_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3_1__1


    // $ANTLR start rule__ProxyArgument__Group_3_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10761:1: rule__ProxyArgument__Group_3_1__1__Impl : ( ( rule__ProxyArgument__ChildrenAssignment_3_1_1 ) ) ;
    public final void rule__ProxyArgument__Group_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10765:1: ( ( ( rule__ProxyArgument__ChildrenAssignment_3_1_1 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10766:1: ( ( rule__ProxyArgument__ChildrenAssignment_3_1_1 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10766:1: ( ( rule__ProxyArgument__ChildrenAssignment_3_1_1 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10767:1: ( rule__ProxyArgument__ChildrenAssignment_3_1_1 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getChildrenAssignment_3_1_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10768:1: ( rule__ProxyArgument__ChildrenAssignment_3_1_1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10768:2: rule__ProxyArgument__ChildrenAssignment_3_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ProxyArgument__ChildrenAssignment_3_1_1_in_rule__ProxyArgument__Group_3_1__1__Impl21712);
            rule__ProxyArgument__ChildrenAssignment_3_1_1();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getChildrenAssignment_3_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__Group_3_1__1__Impl


    // $ANTLR start rule__QualifiedID__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10782:1: rule__QualifiedID__Group__0 : rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ;
    public final void rule__QualifiedID__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10786:1: ( rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10787:2: rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group__0__Impl_in_rule__QualifiedID__Group__021746);
            rule__QualifiedID__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group__1_in_rule__QualifiedID__Group__021749);
            rule__QualifiedID__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group__0


    // $ANTLR start rule__QualifiedID__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10794:1: rule__QualifiedID__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedID__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10798:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10799:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10799:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10800:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__QualifiedID__Group__0__Impl21776); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group__0__Impl


    // $ANTLR start rule__QualifiedID__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10811:1: rule__QualifiedID__Group__1 : rule__QualifiedID__Group__1__Impl ;
    public final void rule__QualifiedID__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10815:1: ( rule__QualifiedID__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10816:2: rule__QualifiedID__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group__1__Impl_in_rule__QualifiedID__Group__121805);
            rule__QualifiedID__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group__1


    // $ANTLR start rule__QualifiedID__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10822:1: rule__QualifiedID__Group__1__Impl : ( ( rule__QualifiedID__Group_1__0 )* ) ;
    public final void rule__QualifiedID__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10826:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10827:1: ( ( rule__QualifiedID__Group_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10827:1: ( ( rule__QualifiedID__Group_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10828:1: ( rule__QualifiedID__Group_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getQualifiedIDAccess().getGroup_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10829:1: ( rule__QualifiedID__Group_1__0 )*
            loop74:
            do {
                int alt74=2;
                int LA74_0 = input.LA(1);

                if ( (LA74_0==75) ) {
                    alt74=1;
                }


                switch (alt74) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10829:2: rule__QualifiedID__Group_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group_1__0_in_rule__QualifiedID__Group__1__Impl21832);
            	    rule__QualifiedID__Group_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop74;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getQualifiedIDAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group__1__Impl


    // $ANTLR start rule__QualifiedID__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10843:1: rule__QualifiedID__Group_1__0 : rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ;
    public final void rule__QualifiedID__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10847:1: ( rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10848:2: rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group_1__0__Impl_in_rule__QualifiedID__Group_1__021867);
            rule__QualifiedID__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group_1__1_in_rule__QualifiedID__Group_1__021870);
            rule__QualifiedID__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group_1__0


    // $ANTLR start rule__QualifiedID__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10855:1: rule__QualifiedID__Group_1__0__Impl : ( '::' ) ;
    public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10859:1: ( ( '::' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10860:1: ( '::' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10860:1: ( '::' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10861:1: '::'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); 
            }
            match(input,75,FollowSets000.FOLLOW_75_in_rule__QualifiedID__Group_1__0__Impl21898); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group_1__0__Impl


    // $ANTLR start rule__QualifiedID__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10874:1: rule__QualifiedID__Group_1__1 : rule__QualifiedID__Group_1__1__Impl ;
    public final void rule__QualifiedID__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10878:1: ( rule__QualifiedID__Group_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10879:2: rule__QualifiedID__Group_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedID__Group_1__1__Impl_in_rule__QualifiedID__Group_1__121929);
            rule__QualifiedID__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group_1__1


    // $ANTLR start rule__QualifiedID__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10885:1: rule__QualifiedID__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10889:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10890:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10890:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10891:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__QualifiedID__Group_1__1__Impl21956); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedID__Group_1__1__Impl


    // $ANTLR start rule__DotQualifiedID__Group__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10906:1: rule__DotQualifiedID__Group__0 : rule__DotQualifiedID__Group__0__Impl rule__DotQualifiedID__Group__1 ;
    public final void rule__DotQualifiedID__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10910:1: ( rule__DotQualifiedID__Group__0__Impl rule__DotQualifiedID__Group__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10911:2: rule__DotQualifiedID__Group__0__Impl rule__DotQualifiedID__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group__0__Impl_in_rule__DotQualifiedID__Group__021989);
            rule__DotQualifiedID__Group__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group__1_in_rule__DotQualifiedID__Group__021992);
            rule__DotQualifiedID__Group__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group__0


    // $ANTLR start rule__DotQualifiedID__Group__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10918:1: rule__DotQualifiedID__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__DotQualifiedID__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10922:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10923:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10923:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10924:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDotQualifiedIDAccess().getIDTerminalRuleCall_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__DotQualifiedID__Group__0__Impl22019); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDotQualifiedIDAccess().getIDTerminalRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group__0__Impl


    // $ANTLR start rule__DotQualifiedID__Group__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10935:1: rule__DotQualifiedID__Group__1 : rule__DotQualifiedID__Group__1__Impl ;
    public final void rule__DotQualifiedID__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10939:1: ( rule__DotQualifiedID__Group__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10940:2: rule__DotQualifiedID__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group__1__Impl_in_rule__DotQualifiedID__Group__122048);
            rule__DotQualifiedID__Group__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group__1


    // $ANTLR start rule__DotQualifiedID__Group__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10946:1: rule__DotQualifiedID__Group__1__Impl : ( ( rule__DotQualifiedID__Group_1__0 )* ) ;
    public final void rule__DotQualifiedID__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10950:1: ( ( ( rule__DotQualifiedID__Group_1__0 )* ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10951:1: ( ( rule__DotQualifiedID__Group_1__0 )* )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10951:1: ( ( rule__DotQualifiedID__Group_1__0 )* )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10952:1: ( rule__DotQualifiedID__Group_1__0 )*
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDotQualifiedIDAccess().getGroup_1()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10953:1: ( rule__DotQualifiedID__Group_1__0 )*
            loop75:
            do {
                int alt75=2;
                int LA75_0 = input.LA(1);

                if ( (LA75_0==76) ) {
                    alt75=1;
                }


                switch (alt75) {
            	case 1 :
            	    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10953:2: rule__DotQualifiedID__Group_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group_1__0_in_rule__DotQualifiedID__Group__1__Impl22075);
            	    rule__DotQualifiedID__Group_1__0();
            	    _fsp--;
            	    if (failed) return ;

            	    }
            	    break;

            	default :
            	    break loop75;
                }
            } while (true);

            if ( backtracking==0 ) {
               after(grammarAccess.getDotQualifiedIDAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group__1__Impl


    // $ANTLR start rule__DotQualifiedID__Group_1__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10967:1: rule__DotQualifiedID__Group_1__0 : rule__DotQualifiedID__Group_1__0__Impl rule__DotQualifiedID__Group_1__1 ;
    public final void rule__DotQualifiedID__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10971:1: ( rule__DotQualifiedID__Group_1__0__Impl rule__DotQualifiedID__Group_1__1 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10972:2: rule__DotQualifiedID__Group_1__0__Impl rule__DotQualifiedID__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group_1__0__Impl_in_rule__DotQualifiedID__Group_1__022110);
            rule__DotQualifiedID__Group_1__0__Impl();
            _fsp--;
            if (failed) return ;
            pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group_1__1_in_rule__DotQualifiedID__Group_1__022113);
            rule__DotQualifiedID__Group_1__1();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group_1__0


    // $ANTLR start rule__DotQualifiedID__Group_1__0__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10979:1: rule__DotQualifiedID__Group_1__0__Impl : ( '.' ) ;
    public final void rule__DotQualifiedID__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10983:1: ( ( '.' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10984:1: ( '.' )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10984:1: ( '.' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10985:1: '.'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDotQualifiedIDAccess().getFullStopKeyword_1_0()); 
            }
            match(input,76,FollowSets000.FOLLOW_76_in_rule__DotQualifiedID__Group_1__0__Impl22141); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDotQualifiedIDAccess().getFullStopKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group_1__0__Impl


    // $ANTLR start rule__DotQualifiedID__Group_1__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:10998:1: rule__DotQualifiedID__Group_1__1 : rule__DotQualifiedID__Group_1__1__Impl ;
    public final void rule__DotQualifiedID__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11002:1: ( rule__DotQualifiedID__Group_1__1__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11003:2: rule__DotQualifiedID__Group_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__DotQualifiedID__Group_1__1__Impl_in_rule__DotQualifiedID__Group_1__122172);
            rule__DotQualifiedID__Group_1__1__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group_1__1


    // $ANTLR start rule__DotQualifiedID__Group_1__1__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11009:1: rule__DotQualifiedID__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__DotQualifiedID__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11013:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11014:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11014:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11015:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDotQualifiedIDAccess().getIDTerminalRuleCall_1_1()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__DotQualifiedID__Group_1__1__Impl22199); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDotQualifiedIDAccess().getIDTerminalRuleCall_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DotQualifiedID__Group_1__1__Impl


    // $ANTLR start rule__LocateStatement__UnorderedGroup_3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11031:1: rule__LocateStatement__UnorderedGroup_3 : rule__LocateStatement__UnorderedGroup_3__0 {...}?;
    public final void rule__LocateStatement__UnorderedGroup_3() throws RecognitionException {

            	int stackSize = keepStackSize();
        		getUnorderedGroupHelper().enter(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3());
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11036:1: ( rule__LocateStatement__UnorderedGroup_3__0 {...}?)
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11037:2: rule__LocateStatement__UnorderedGroup_3__0 {...}?
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__0_in_rule__LocateStatement__UnorderedGroup_322233);
            rule__LocateStatement__UnorderedGroup_3__0();
            _fsp--;
            if (failed) return ;
            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3()) ) {
                if (backtracking>0) {failed=true; return ;}
                throw new FailedPredicateException(input, "rule__LocateStatement__UnorderedGroup_3", "getUnorderedGroupHelper().canLeave(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3())");
            }

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	getUnorderedGroupHelper().leave(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__UnorderedGroup_3


    // $ANTLR start rule__LocateStatement__UnorderedGroup_3__Impl
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11048:1: rule__LocateStatement__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) ) ) ) ;
    public final void rule__LocateStatement__UnorderedGroup_3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
        		boolean selected = false;
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11053:1: ( ( ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) ) ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11054:3: ( ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) ) ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11054:3: ( ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) ) ) )
            int alt76=3;
            int LA76_0 = input.LA(1);

            if ( LA76_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0) ) {
                alt76=1;
            }
            else if ( LA76_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1) ) {
                alt76=2;
            }
            else if ( LA76_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 2) ) {
                alt76=3;
            }
            else {
                if (backtracking>0) {failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("11054:3: ( ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) ) ) )", 76, 0, input);

                throw nvae;
            }
            switch (alt76) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11056:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11056:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11057:5: {...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0) ) {
                        if (backtracking>0) {failed=true; return ;}
                        throw new FailedPredicateException(input, "rule__LocateStatement__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0)");
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11057:112: ( ( ( rule__LocateStatement__Group_3_0__0 ) ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11058:6: ( ( rule__LocateStatement__Group_3_0__0 ) )
                    {
                    getUnorderedGroupHelper().select(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0);
                    if ( backtracking==0 ) {

                      	 				  selected = true;
                      	 				
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11064:6: ( ( rule__LocateStatement__Group_3_0__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11066:7: ( rule__LocateStatement__Group_3_0__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLocateStatementAccess().getGroup_3_0()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11067:7: ( rule__LocateStatement__Group_3_0__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11067:8: rule__LocateStatement__Group_3_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_0__0_in_rule__LocateStatement__UnorderedGroup_3__Impl22322);
                    rule__LocateStatement__Group_3_0__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getLocateStatementAccess().getGroup_3_0()); 
                    }

                    }


                    }


                    }


                    }
                    break;
                case 2 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11073:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11073:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11074:5: {...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1) ) {
                        if (backtracking>0) {failed=true; return ;}
                        throw new FailedPredicateException(input, "rule__LocateStatement__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1)");
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11074:112: ( ( ( rule__LocateStatement__Group_3_1__0 ) ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11075:6: ( ( rule__LocateStatement__Group_3_1__0 ) )
                    {
                    getUnorderedGroupHelper().select(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1);
                    if ( backtracking==0 ) {

                      	 				  selected = true;
                      	 				
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11081:6: ( ( rule__LocateStatement__Group_3_1__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11083:7: ( rule__LocateStatement__Group_3_1__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLocateStatementAccess().getGroup_3_1()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11084:7: ( rule__LocateStatement__Group_3_1__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11084:8: rule__LocateStatement__Group_3_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_1__0_in_rule__LocateStatement__UnorderedGroup_3__Impl22413);
                    rule__LocateStatement__Group_3_1__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getLocateStatementAccess().getGroup_3_1()); 
                    }

                    }


                    }


                    }


                    }
                    break;
                case 3 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11090:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) ) )
                    {
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11090:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11091:5: {...}? => ( ( ( rule__LocateStatement__Group_3_2__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 2) ) {
                        if (backtracking>0) {failed=true; return ;}
                        throw new FailedPredicateException(input, "rule__LocateStatement__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 2)");
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11091:112: ( ( ( rule__LocateStatement__Group_3_2__0 ) ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11092:6: ( ( rule__LocateStatement__Group_3_2__0 ) )
                    {
                    getUnorderedGroupHelper().select(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 2);
                    if ( backtracking==0 ) {

                      	 				  selected = true;
                      	 				
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11098:6: ( ( rule__LocateStatement__Group_3_2__0 ) )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11100:7: ( rule__LocateStatement__Group_3_2__0 )
                    {
                    if ( backtracking==0 ) {
                       before(grammarAccess.getLocateStatementAccess().getGroup_3_2()); 
                    }
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11101:7: ( rule__LocateStatement__Group_3_2__0 )
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11101:8: rule__LocateStatement__Group_3_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_2__0_in_rule__LocateStatement__UnorderedGroup_3__Impl22504);
                    rule__LocateStatement__Group_3_2__0();
                    _fsp--;
                    if (failed) return ;

                    }

                    if ( backtracking==0 ) {
                       after(grammarAccess.getLocateStatementAccess().getGroup_3_2()); 
                    }

                    }


                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	if (selected)
            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__UnorderedGroup_3__Impl


    // $ANTLR start rule__LocateStatement__UnorderedGroup_3__0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11116:1: rule__LocateStatement__UnorderedGroup_3__0 : rule__LocateStatement__UnorderedGroup_3__Impl ( rule__LocateStatement__UnorderedGroup_3__1 )? ;
    public final void rule__LocateStatement__UnorderedGroup_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11120:1: ( rule__LocateStatement__UnorderedGroup_3__Impl ( rule__LocateStatement__UnorderedGroup_3__1 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11121:2: rule__LocateStatement__UnorderedGroup_3__Impl ( rule__LocateStatement__UnorderedGroup_3__1 )?
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__Impl_in_rule__LocateStatement__UnorderedGroup_3__022563);
            rule__LocateStatement__UnorderedGroup_3__Impl();
            _fsp--;
            if (failed) return ;
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11122:2: ( rule__LocateStatement__UnorderedGroup_3__1 )?
            int alt77=2;
            int LA77_0 = input.LA(1);

            if ( LA77_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0) ) {
                alt77=1;
            }
            else if ( LA77_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1) ) {
                alt77=1;
            }
            else if ( LA77_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 2) ) {
                alt77=1;
            }
            switch (alt77) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:0:0: rule__LocateStatement__UnorderedGroup_3__1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__1_in_rule__LocateStatement__UnorderedGroup_3__022566);
                    rule__LocateStatement__UnorderedGroup_3__1();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__UnorderedGroup_3__0


    // $ANTLR start rule__LocateStatement__UnorderedGroup_3__1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11129:1: rule__LocateStatement__UnorderedGroup_3__1 : rule__LocateStatement__UnorderedGroup_3__Impl ( rule__LocateStatement__UnorderedGroup_3__2 )? ;
    public final void rule__LocateStatement__UnorderedGroup_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11133:1: ( rule__LocateStatement__UnorderedGroup_3__Impl ( rule__LocateStatement__UnorderedGroup_3__2 )? )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11134:2: rule__LocateStatement__UnorderedGroup_3__Impl ( rule__LocateStatement__UnorderedGroup_3__2 )?
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__Impl_in_rule__LocateStatement__UnorderedGroup_3__122591);
            rule__LocateStatement__UnorderedGroup_3__Impl();
            _fsp--;
            if (failed) return ;
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11135:2: ( rule__LocateStatement__UnorderedGroup_3__2 )?
            int alt78=2;
            int LA78_0 = input.LA(1);

            if ( LA78_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0) ) {
                alt78=1;
            }
            else if ( LA78_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1) ) {
                alt78=1;
            }
            else if ( LA78_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 2) ) {
                alt78=1;
            }
            switch (alt78) {
                case 1 :
                    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:0:0: rule__LocateStatement__UnorderedGroup_3__2
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__2_in_rule__LocateStatement__UnorderedGroup_3__122594);
                    rule__LocateStatement__UnorderedGroup_3__2();
                    _fsp--;
                    if (failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__UnorderedGroup_3__1


    // $ANTLR start rule__LocateStatement__UnorderedGroup_3__2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11142:1: rule__LocateStatement__UnorderedGroup_3__2 : rule__LocateStatement__UnorderedGroup_3__Impl ;
    public final void rule__LocateStatement__UnorderedGroup_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11146:1: ( rule__LocateStatement__UnorderedGroup_3__Impl )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11147:2: rule__LocateStatement__UnorderedGroup_3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__Impl_in_rule__LocateStatement__UnorderedGroup_3__222619);
            rule__LocateStatement__UnorderedGroup_3__Impl();
            _fsp--;
            if (failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__UnorderedGroup_3__2


    // $ANTLR start rule__Program__NameAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11160:1: rule__Program__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Program__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11164:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11165:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11165:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11166:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getNameIDTerminalRuleCall_1_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Program__NameAssignment_122653); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getNameIDTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__NameAssignment_1


    // $ANTLR start rule__Program__ChildrenAssignment_3_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11175:1: rule__Program__ChildrenAssignment_3_0 : ( ruleImportStatement ) ;
    public final void rule__Program__ChildrenAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11179:1: ( ( ruleImportStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11180:1: ( ruleImportStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11180:1: ( ruleImportStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11181:1: ruleImportStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getChildrenImportStatementParserRuleCall_3_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleImportStatement_in_rule__Program__ChildrenAssignment_3_022684);
            ruleImportStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getChildrenImportStatementParserRuleCall_3_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__ChildrenAssignment_3_0


    // $ANTLR start rule__Program__ChildrenAssignment_4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11190:1: rule__Program__ChildrenAssignment_4 : ( ruleDeclaration ) ;
    public final void rule__Program__ChildrenAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11194:1: ( ( ruleDeclaration ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11195:1: ( ruleDeclaration )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11195:1: ( ruleDeclaration )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11196:1: ruleDeclaration
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProgramAccess().getChildrenDeclarationParserRuleCall_4_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDeclaration_in_rule__Program__ChildrenAssignment_422715);
            ruleDeclaration();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProgramAccess().getChildrenDeclarationParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Program__ChildrenAssignment_4


    // $ANTLR start rule__InclusionDeclaration__ImportURIAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11205:1: rule__InclusionDeclaration__ImportURIAssignment_1 : ( RULE_STRING ) ;
    public final void rule__InclusionDeclaration__ImportURIAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11209:1: ( ( RULE_STRING ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11210:1: ( RULE_STRING )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11210:1: ( RULE_STRING )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11211:1: RULE_STRING
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getInclusionDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            }
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__InclusionDeclaration__ImportURIAssignment_122746); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getInclusionDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__InclusionDeclaration__ImportURIAssignment_1


    // $ANTLR start rule__PatternDeclaration__NameAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11220:1: rule__PatternDeclaration__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__PatternDeclaration__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11224:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11225:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11225:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11226:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getNameIDTerminalRuleCall_1_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__PatternDeclaration__NameAssignment_122777); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getNameIDTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__NameAssignment_1


    // $ANTLR start rule__PatternDeclaration__ReturnTypeAssignment_2_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11235:1: rule__PatternDeclaration__ReturnTypeAssignment_2_1 : ( ( ruleQualifiedID ) ) ;
    public final void rule__PatternDeclaration__ReturnTypeAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11239:1: ( ( ( ruleQualifiedID ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11240:1: ( ( ruleQualifiedID ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11240:1: ( ( ruleQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11241:1: ( ruleQualifiedID )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getReturnTypePatternMatchInfoCrossReference_2_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11242:1: ( ruleQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11243:1: ruleQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getReturnTypePatternMatchInfoQualifiedIDParserRuleCall_2_1_0_1()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedID_in_rule__PatternDeclaration__ReturnTypeAssignment_2_122812);
            ruleQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getReturnTypePatternMatchInfoQualifiedIDParserRuleCall_2_1_0_1()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getReturnTypePatternMatchInfoCrossReference_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__ReturnTypeAssignment_2_1


    // $ANTLR start rule__PatternDeclaration__ArgumentsAssignment_4_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11254:1: rule__PatternDeclaration__ArgumentsAssignment_4_0 : ( ruleArgument ) ;
    public final void rule__PatternDeclaration__ArgumentsAssignment_4_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11258:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11259:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11259:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11260:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getArgumentsArgumentParserRuleCall_4_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__PatternDeclaration__ArgumentsAssignment_4_022847);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getArgumentsArgumentParserRuleCall_4_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__ArgumentsAssignment_4_0


    // $ANTLR start rule__PatternDeclaration__ArgumentsAssignment_4_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11269:1: rule__PatternDeclaration__ArgumentsAssignment_4_1_1 : ( ruleArgument ) ;
    public final void rule__PatternDeclaration__ArgumentsAssignment_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11273:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11274:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11274:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11275:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getArgumentsArgumentParserRuleCall_4_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__PatternDeclaration__ArgumentsAssignment_4_1_122878);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getArgumentsArgumentParserRuleCall_4_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__ArgumentsAssignment_4_1_1


    // $ANTLR start rule__PatternDeclaration__ChildrenAssignment_6
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11284:1: rule__PatternDeclaration__ChildrenAssignment_6 : ( ruleCompositeStatement ) ;
    public final void rule__PatternDeclaration__ChildrenAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11288:1: ( ( ruleCompositeStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11289:1: ( ruleCompositeStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11289:1: ( ruleCompositeStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11290:1: ruleCompositeStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternDeclarationAccess().getChildrenCompositeStatementParserRuleCall_6_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleCompositeStatement_in_rule__PatternDeclaration__ChildrenAssignment_622909);
            ruleCompositeStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternDeclarationAccess().getChildrenCompositeStatementParserRuleCall_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternDeclaration__ChildrenAssignment_6


    // $ANTLR start rule__ConstantDeclaration__NameAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11299:1: rule__ConstantDeclaration__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__ConstantDeclaration__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11303:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11304:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11304:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11305:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__ConstantDeclaration__NameAssignment_122940); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__NameAssignment_1


    // $ANTLR start rule__ConstantDeclaration__ValueAssignment_3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11314:1: rule__ConstantDeclaration__ValueAssignment_3 : ( ruleExpression ) ;
    public final void rule__ConstantDeclaration__ValueAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11318:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11319:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11319:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11320:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_3_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ConstantDeclaration__ValueAssignment_322971);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ConstantDeclaration__ValueAssignment_3


    // $ANTLR start rule__BlockSpecialStatement__NameAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11329:1: rule__BlockSpecialStatement__NameAssignment_1 : ( ( rule__BlockSpecialStatement__NameAlternatives_1_0 ) ) ;
    public final void rule__BlockSpecialStatement__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11333:1: ( ( ( rule__BlockSpecialStatement__NameAlternatives_1_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11334:1: ( ( rule__BlockSpecialStatement__NameAlternatives_1_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11334:1: ( ( rule__BlockSpecialStatement__NameAlternatives_1_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11335:1: ( rule__BlockSpecialStatement__NameAlternatives_1_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBlockSpecialStatementAccess().getNameAlternatives_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11336:1: ( rule__BlockSpecialStatement__NameAlternatives_1_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11336:2: rule__BlockSpecialStatement__NameAlternatives_1_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__BlockSpecialStatement__NameAlternatives_1_0_in_rule__BlockSpecialStatement__NameAssignment_123002);
            rule__BlockSpecialStatement__NameAlternatives_1_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBlockSpecialStatementAccess().getNameAlternatives_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BlockSpecialStatement__NameAssignment_1


    // $ANTLR start rule__ReturnStatement__NameAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11345:1: rule__ReturnStatement__NameAssignment_0 : ( ( 'return' ) ) ;
    public final void rule__ReturnStatement__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11349:1: ( ( ( 'return' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11350:1: ( ( 'return' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11350:1: ( ( 'return' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11351:1: ( 'return' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getNameReturnKeyword_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11352:1: ( 'return' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11353:1: 'return'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getNameReturnKeyword_0_0()); 
            }
            match(input,77,FollowSets000.FOLLOW_77_in_rule__ReturnStatement__NameAssignment_023040); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getNameReturnKeyword_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getNameReturnKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ReturnStatement__NameAssignment_0


    // $ANTLR start rule__ReturnStatement__ChildrenAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11368:1: rule__ReturnStatement__ChildrenAssignment_1 : ( ruleExpression ) ;
    public final void rule__ReturnStatement__ChildrenAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11372:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11373:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11373:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11374:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getChildrenExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ReturnStatement__ChildrenAssignment_123079);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getChildrenExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ReturnStatement__ChildrenAssignment_1


    // $ANTLR start rule__CompositeStatement__ChildrenAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11383:1: rule__CompositeStatement__ChildrenAssignment_2 : ( ( rule__CompositeStatement__ChildrenAlternatives_2_0 ) ) ;
    public final void rule__CompositeStatement__ChildrenAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11387:1: ( ( ( rule__CompositeStatement__ChildrenAlternatives_2_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11388:1: ( ( rule__CompositeStatement__ChildrenAlternatives_2_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11388:1: ( ( rule__CompositeStatement__ChildrenAlternatives_2_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11389:1: ( rule__CompositeStatement__ChildrenAlternatives_2_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getCompositeStatementAccess().getChildrenAlternatives_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11390:1: ( rule__CompositeStatement__ChildrenAlternatives_2_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11390:2: rule__CompositeStatement__ChildrenAlternatives_2_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__CompositeStatement__ChildrenAlternatives_2_0_in_rule__CompositeStatement__ChildrenAssignment_223110);
            rule__CompositeStatement__ChildrenAlternatives_2_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getCompositeStatementAccess().getChildrenAlternatives_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__CompositeStatement__ChildrenAssignment_2


    // $ANTLR start rule__DeclarationStatement__ChildrenAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11399:1: rule__DeclarationStatement__ChildrenAssignment_1 : ( ruleVarEntry ) ;
    public final void rule__DeclarationStatement__ChildrenAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11403:1: ( ( ruleVarEntry ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11404:1: ( ruleVarEntry )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11404:1: ( ruleVarEntry )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11405:1: ruleVarEntry
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getChildrenVarEntryParserRuleCall_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleVarEntry_in_rule__DeclarationStatement__ChildrenAssignment_123143);
            ruleVarEntry();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getChildrenVarEntryParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__ChildrenAssignment_1


    // $ANTLR start rule__DeclarationStatement__ChildrenAssignment_2_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11414:1: rule__DeclarationStatement__ChildrenAssignment_2_1 : ( ruleVarEntry ) ;
    public final void rule__DeclarationStatement__ChildrenAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11418:1: ( ( ruleVarEntry ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11419:1: ( ruleVarEntry )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11419:1: ( ruleVarEntry )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11420:1: ruleVarEntry
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getDeclarationStatementAccess().getChildrenVarEntryParserRuleCall_2_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleVarEntry_in_rule__DeclarationStatement__ChildrenAssignment_2_123174);
            ruleVarEntry();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getDeclarationStatementAccess().getChildrenVarEntryParserRuleCall_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DeclarationStatement__ChildrenAssignment_2_1


    // $ANTLR start rule__VarEntry__NameAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11429:1: rule__VarEntry__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__VarEntry__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11433:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11434:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11434:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11435:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryAccess().getNameIDTerminalRuleCall_0_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__VarEntry__NameAssignment_023205); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryAccess().getNameIDTerminalRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__NameAssignment_0


    // $ANTLR start rule__VarEntry__ChildrenAssignment_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11444:1: rule__VarEntry__ChildrenAssignment_1_1 : ( ruleExpression ) ;
    public final void rule__VarEntry__ChildrenAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11448:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11449:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11449:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11450:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVarEntryAccess().getChildrenExpressionParserRuleCall_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__VarEntry__ChildrenAssignment_1_123236);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getVarEntryAccess().getChildrenExpressionParserRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VarEntry__ChildrenAssignment_1_1


    // $ANTLR start rule__LocateStatement__OptionalAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11459:1: rule__LocateStatement__OptionalAssignment_0 : ( ( 'optional' ) ) ;
    public final void rule__LocateStatement__OptionalAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11463:1: ( ( ( 'optional' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11464:1: ( ( 'optional' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11464:1: ( ( 'optional' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11465:1: ( 'optional' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getOptionalOptionalKeyword_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11466:1: ( 'optional' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11467:1: 'optional'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getOptionalOptionalKeyword_0_0()); 
            }
            match(input,78,FollowSets000.FOLLOW_78_in_rule__LocateStatement__OptionalAssignment_023272); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getOptionalOptionalKeyword_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getOptionalOptionalKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__OptionalAssignment_0


    // $ANTLR start rule__LocateStatement__ChildrenAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11482:1: rule__LocateStatement__ChildrenAssignment_2 : ( ruleUnamedArgument ) ;
    public final void rule__LocateStatement__ChildrenAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11486:1: ( ( ruleUnamedArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11487:1: ( ruleUnamedArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11487:1: ( ruleUnamedArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11488:1: ruleUnamedArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getChildrenUnamedArgumentParserRuleCall_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleUnamedArgument_in_rule__LocateStatement__ChildrenAssignment_223311);
            ruleUnamedArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getChildrenUnamedArgumentParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__ChildrenAssignment_2


    // $ANTLR start rule__LocateStatement__PositionAssignment_3_0_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11497:1: rule__LocateStatement__PositionAssignment_3_0_1 : ( rulePOSITION_CONSTANTS ) ;
    public final void rule__LocateStatement__PositionAssignment_3_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11501:1: ( ( rulePOSITION_CONSTANTS ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11502:1: ( rulePOSITION_CONSTANTS )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11502:1: ( rulePOSITION_CONSTANTS )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11503:1: rulePOSITION_CONSTANTS
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getPositionPOSITION_CONSTANTSParserRuleCall_3_0_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePOSITION_CONSTANTS_in_rule__LocateStatement__PositionAssignment_3_0_123342);
            rulePOSITION_CONSTANTS();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getPositionPOSITION_CONSTANTSParserRuleCall_3_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__PositionAssignment_3_0_1


    // $ANTLR start rule__LocateStatement__FlagAssignment_3_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11512:1: rule__LocateStatement__FlagAssignment_3_1_2 : ( ruleExpression ) ;
    public final void rule__LocateStatement__FlagAssignment_3_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11516:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11517:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11517:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11518:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getFlagExpressionParserRuleCall_3_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__LocateStatement__FlagAssignment_3_1_223373);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getFlagExpressionParserRuleCall_3_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__FlagAssignment_3_1_2


    // $ANTLR start rule__LocateStatement__LocatorAssignment_3_2_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11527:1: rule__LocateStatement__LocatorAssignment_3_2_1 : ( ( ruleQualifiedID ) ) ;
    public final void rule__LocateStatement__LocatorAssignment_3_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11531:1: ( ( ( ruleQualifiedID ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11532:1: ( ( ruleQualifiedID ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11532:1: ( ( ruleQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11533:1: ( ruleQualifiedID )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getLocatorLocatorProxyCrossReference_3_2_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11534:1: ( ruleQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11535:1: ruleQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getLocatorLocatorProxyQualifiedIDParserRuleCall_3_2_1_0_1()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedID_in_rule__LocateStatement__LocatorAssignment_3_2_123408);
            ruleQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getLocatorLocatorProxyQualifiedIDParserRuleCall_3_2_1_0_1()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getLocatorLocatorProxyCrossReference_3_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__LocatorAssignment_3_2_1


    // $ANTLR start rule__LocateStatement__ChildrenAssignment_3_2_3_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11546:1: rule__LocateStatement__ChildrenAssignment_3_2_3_0 : ( ruleArgument ) ;
    public final void rule__LocateStatement__ChildrenAssignment_3_2_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11550:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11551:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11551:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11552:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getChildrenArgumentParserRuleCall_3_2_3_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__LocateStatement__ChildrenAssignment_3_2_3_023443);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getChildrenArgumentParserRuleCall_3_2_3_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__ChildrenAssignment_3_2_3_0


    // $ANTLR start rule__LocateStatement__ChildrenAssignment_3_2_3_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11561:1: rule__LocateStatement__ChildrenAssignment_3_2_3_1_1 : ( ruleArgument ) ;
    public final void rule__LocateStatement__ChildrenAssignment_3_2_3_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11565:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11566:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11566:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11567:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocateStatementAccess().getChildrenArgumentParserRuleCall_3_2_3_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__LocateStatement__ChildrenAssignment_3_2_3_1_123474);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocateStatementAccess().getChildrenArgumentParserRuleCall_3_2_3_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocateStatement__ChildrenAssignment_3_2_3_1_1


    // $ANTLR start rule__MatchStatement__PatternAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11576:1: rule__MatchStatement__PatternAssignment_1 : ( rulePatternExpression ) ;
    public final void rule__MatchStatement__PatternAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11580:1: ( ( rulePatternExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11581:1: ( rulePatternExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11581:1: ( rulePatternExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11582:1: rulePatternExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getPatternPatternExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePatternExpression_in_rule__MatchStatement__PatternAssignment_123505);
            rulePatternExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getPatternPatternExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__PatternAssignment_1


    // $ANTLR start rule__MatchStatement__ChildrenAssignment_2_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11591:1: rule__MatchStatement__ChildrenAssignment_2_1 : ( ruleArgument ) ;
    public final void rule__MatchStatement__ChildrenAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11595:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11596:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11596:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11597:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenArgumentParserRuleCall_2_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__MatchStatement__ChildrenAssignment_2_123536);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenArgumentParserRuleCall_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__ChildrenAssignment_2_1


    // $ANTLR start rule__MatchStatement__ChildrenAssignment_2_2_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11606:1: rule__MatchStatement__ChildrenAssignment_2_2_1 : ( ruleArgument ) ;
    public final void rule__MatchStatement__ChildrenAssignment_2_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11610:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11611:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11611:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11612:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenArgumentParserRuleCall_2_2_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__MatchStatement__ChildrenAssignment_2_2_123567);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenArgumentParserRuleCall_2_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__ChildrenAssignment_2_2_1


    // $ANTLR start rule__MatchStatement__ChildrenAssignment_3_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11621:1: rule__MatchStatement__ChildrenAssignment_3_1 : ( ruleMatchOption ) ;
    public final void rule__MatchStatement__ChildrenAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11625:1: ( ( ruleMatchOption ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11626:1: ( ruleMatchOption )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11626:1: ( ruleMatchOption )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11627:1: ruleMatchOption
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenMatchOptionParserRuleCall_3_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleMatchOption_in_rule__MatchStatement__ChildrenAssignment_3_123598);
            ruleMatchOption();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenMatchOptionParserRuleCall_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__ChildrenAssignment_3_1


    // $ANTLR start rule__MatchStatement__ChildrenAssignment_3_2_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11636:1: rule__MatchStatement__ChildrenAssignment_3_2_1 : ( ruleMatchOption ) ;
    public final void rule__MatchStatement__ChildrenAssignment_3_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11640:1: ( ( ruleMatchOption ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11641:1: ( ruleMatchOption )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11641:1: ( ruleMatchOption )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11642:1: ruleMatchOption
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchStatementAccess().getChildrenMatchOptionParserRuleCall_3_2_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleMatchOption_in_rule__MatchStatement__ChildrenAssignment_3_2_123629);
            ruleMatchOption();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchStatementAccess().getChildrenMatchOptionParserRuleCall_3_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchStatement__ChildrenAssignment_3_2_1


    // $ANTLR start rule__MatchOption__NameAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11651:1: rule__MatchOption__NameAssignment_0 : ( ( rule__MatchOption__NameAlternatives_0_0 ) ) ;
    public final void rule__MatchOption__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11655:1: ( ( ( rule__MatchOption__NameAlternatives_0_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11656:1: ( ( rule__MatchOption__NameAlternatives_0_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11656:1: ( ( rule__MatchOption__NameAlternatives_0_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11657:1: ( rule__MatchOption__NameAlternatives_0_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchOptionAccess().getNameAlternatives_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11658:1: ( rule__MatchOption__NameAlternatives_0_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11658:2: rule__MatchOption__NameAlternatives_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__MatchOption__NameAlternatives_0_0_in_rule__MatchOption__NameAssignment_023660);
            rule__MatchOption__NameAlternatives_0_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMatchOptionAccess().getNameAlternatives_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__NameAssignment_0


    // $ANTLR start rule__MatchOption__ValueAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11667:1: rule__MatchOption__ValueAssignment_2 : ( ruleExpression ) ;
    public final void rule__MatchOption__ValueAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11671:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11672:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11672:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11673:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMatchOptionAccess().getValueExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__MatchOption__ValueAssignment_223693);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMatchOptionAccess().getValueExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MatchOption__ValueAssignment_2


    // $ANTLR start rule__IfStatement__ConditionAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11682:1: rule__IfStatement__ConditionAssignment_2 : ( ruleExpression ) ;
    public final void rule__IfStatement__ConditionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11686:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11687:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11687:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11688:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__IfStatement__ConditionAssignment_223724);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__ConditionAssignment_2


    // $ANTLR start rule__IfStatement__TrueStatementAssignment_4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11697:1: rule__IfStatement__TrueStatementAssignment_4 : ( ruleStatement ) ;
    public final void rule__IfStatement__TrueStatementAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11701:1: ( ( ruleStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11702:1: ( ruleStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11702:1: ( ruleStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11703:1: ruleStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getTrueStatementStatementParserRuleCall_4_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__IfStatement__TrueStatementAssignment_423755);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getTrueStatementStatementParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__TrueStatementAssignment_4


    // $ANTLR start rule__IfStatement__FalseStatementAssignment_5_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11712:1: rule__IfStatement__FalseStatementAssignment_5_1 : ( ruleStatement ) ;
    public final void rule__IfStatement__FalseStatementAssignment_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11716:1: ( ( ruleStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11717:1: ( ruleStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11717:1: ( ruleStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11718:1: ruleStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getFalseStatementStatementParserRuleCall_5_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__IfStatement__FalseStatementAssignment_5_123786);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getFalseStatementStatementParserRuleCall_5_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IfStatement__FalseStatementAssignment_5_1


    // $ANTLR start rule__ForStatement__LoopTypeAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11727:1: rule__ForStatement__LoopTypeAssignment_0 : ( ( 'for' ) ) ;
    public final void rule__ForStatement__LoopTypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11731:1: ( ( ( 'for' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11732:1: ( ( 'for' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11732:1: ( ( 'for' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11733:1: ( 'for' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getLoopTypeForKeyword_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11734:1: ( 'for' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11735:1: 'for'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getLoopTypeForKeyword_0_0()); 
            }
            match(input,58,FollowSets000.FOLLOW_58_in_rule__ForStatement__LoopTypeAssignment_023822); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getLoopTypeForKeyword_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getLoopTypeForKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__LoopTypeAssignment_0


    // $ANTLR start rule__ForStatement__InitStatementAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11750:1: rule__ForStatement__InitStatementAssignment_2 : ( ruleForInitStatement ) ;
    public final void rule__ForStatement__InitStatementAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11754:1: ( ( ruleForInitStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11755:1: ( ruleForInitStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11755:1: ( ruleForInitStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11756:1: ruleForInitStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getInitStatementForInitStatementParserRuleCall_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleForInitStatement_in_rule__ForStatement__InitStatementAssignment_223861);
            ruleForInitStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getInitStatementForInitStatementParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__InitStatementAssignment_2


    // $ANTLR start rule__ForStatement__ConditionAssignment_4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11765:1: rule__ForStatement__ConditionAssignment_4 : ( ruleExpression ) ;
    public final void rule__ForStatement__ConditionAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11769:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11770:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11770:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11771:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getConditionExpressionParserRuleCall_4_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ForStatement__ConditionAssignment_423892);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getConditionExpressionParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__ConditionAssignment_4


    // $ANTLR start rule__ForStatement__PostStatementAssignment_6
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11780:1: rule__ForStatement__PostStatementAssignment_6 : ( ruleForPostStatement ) ;
    public final void rule__ForStatement__PostStatementAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11784:1: ( ( ruleForPostStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11785:1: ( ruleForPostStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11785:1: ( ruleForPostStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11786:1: ruleForPostStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getPostStatementForPostStatementParserRuleCall_6_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleForPostStatement_in_rule__ForStatement__PostStatementAssignment_623923);
            ruleForPostStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getPostStatementForPostStatementParserRuleCall_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__PostStatementAssignment_6


    // $ANTLR start rule__ForStatement__BodyStatementAssignment_8
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11795:1: rule__ForStatement__BodyStatementAssignment_8 : ( ruleStatement ) ;
    public final void rule__ForStatement__BodyStatementAssignment_8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11799:1: ( ( ruleStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11800:1: ( ruleStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11800:1: ( ruleStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11801:1: ruleStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getBodyStatementStatementParserRuleCall_8_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__ForStatement__BodyStatementAssignment_823954);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getBodyStatementStatementParserRuleCall_8_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForStatement__BodyStatementAssignment_8


    // $ANTLR start rule__ForEachStatement__LoopTypeAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11810:1: rule__ForEachStatement__LoopTypeAssignment_0 : ( ( 'foreach' ) ) ;
    public final void rule__ForEachStatement__LoopTypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11814:1: ( ( ( 'foreach' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11815:1: ( ( 'foreach' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11815:1: ( ( 'foreach' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11816:1: ( 'foreach' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getLoopTypeForeachKeyword_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11817:1: ( 'foreach' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11818:1: 'foreach'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getLoopTypeForeachKeyword_0_0()); 
            }
            match(input,79,FollowSets000.FOLLOW_79_in_rule__ForEachStatement__LoopTypeAssignment_023990); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getLoopTypeForeachKeyword_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getLoopTypeForeachKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__LoopTypeAssignment_0


    // $ANTLR start rule__ForEachStatement__ControlVarAssignment_3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11833:1: rule__ForEachStatement__ControlVarAssignment_3 : ( RULE_ID ) ;
    public final void rule__ForEachStatement__ControlVarAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11837:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11838:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11838:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11839:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getControlVarIDTerminalRuleCall_3_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__ForEachStatement__ControlVarAssignment_324029); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getControlVarIDTerminalRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__ControlVarAssignment_3


    // $ANTLR start rule__ForEachStatement__ConditionAssignment_5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11848:1: rule__ForEachStatement__ConditionAssignment_5 : ( ruleExpression ) ;
    public final void rule__ForEachStatement__ConditionAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11852:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11853:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11853:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11854:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getConditionExpressionParserRuleCall_5_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ForEachStatement__ConditionAssignment_524060);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getConditionExpressionParserRuleCall_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__ConditionAssignment_5


    // $ANTLR start rule__ForEachStatement__BodyStatementAssignment_7
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11863:1: rule__ForEachStatement__BodyStatementAssignment_7 : ( ruleStatement ) ;
    public final void rule__ForEachStatement__BodyStatementAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11867:1: ( ( ruleStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11868:1: ( ruleStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11868:1: ( ruleStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11869:1: ruleStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForEachStatementAccess().getBodyStatementStatementParserRuleCall_7_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__ForEachStatement__BodyStatementAssignment_724091);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForEachStatementAccess().getBodyStatementStatementParserRuleCall_7_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForEachStatement__BodyStatementAssignment_7


    // $ANTLR start rule__WhileStatement__LoopTypeAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11878:1: rule__WhileStatement__LoopTypeAssignment_0 : ( ( 'while' ) ) ;
    public final void rule__WhileStatement__LoopTypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11882:1: ( ( ( 'while' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11883:1: ( ( 'while' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11883:1: ( ( 'while' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11884:1: ( 'while' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getLoopTypeWhileKeyword_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11885:1: ( 'while' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11886:1: 'while'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getLoopTypeWhileKeyword_0_0()); 
            }
            match(input,80,FollowSets000.FOLLOW_80_in_rule__WhileStatement__LoopTypeAssignment_024127); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getLoopTypeWhileKeyword_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getLoopTypeWhileKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__LoopTypeAssignment_0


    // $ANTLR start rule__WhileStatement__ConditionAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11901:1: rule__WhileStatement__ConditionAssignment_2 : ( ruleExpression ) ;
    public final void rule__WhileStatement__ConditionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11905:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11906:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11906:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11907:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__WhileStatement__ConditionAssignment_224166);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__ConditionAssignment_2


    // $ANTLR start rule__WhileStatement__BodyStatementAssignment_4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11916:1: rule__WhileStatement__BodyStatementAssignment_4 : ( ruleStatement ) ;
    public final void rule__WhileStatement__BodyStatementAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11920:1: ( ( ruleStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11921:1: ( ruleStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11921:1: ( ruleStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11922:1: ruleStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getBodyStatementStatementParserRuleCall_4_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__WhileStatement__BodyStatementAssignment_424197);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getBodyStatementStatementParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__WhileStatement__BodyStatementAssignment_4


    // $ANTLR start rule__ForInitStatement__ChildrenAssignment_0_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11931:1: rule__ForInitStatement__ChildrenAssignment_0_0 : ( ( rule__ForInitStatement__ChildrenAlternatives_0_0_0 ) ) ;
    public final void rule__ForInitStatement__ChildrenAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11935:1: ( ( ( rule__ForInitStatement__ChildrenAlternatives_0_0_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11936:1: ( ( rule__ForInitStatement__ChildrenAlternatives_0_0_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11936:1: ( ( rule__ForInitStatement__ChildrenAlternatives_0_0_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11937:1: ( rule__ForInitStatement__ChildrenAlternatives_0_0_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getChildrenAlternatives_0_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11938:1: ( rule__ForInitStatement__ChildrenAlternatives_0_0_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11938:2: rule__ForInitStatement__ChildrenAlternatives_0_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__ChildrenAlternatives_0_0_0_in_rule__ForInitStatement__ChildrenAssignment_0_024228);
            rule__ForInitStatement__ChildrenAlternatives_0_0_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getChildrenAlternatives_0_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__ChildrenAssignment_0_0


    // $ANTLR start rule__ForInitStatement__ChildrenAssignment_0_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11947:1: rule__ForInitStatement__ChildrenAssignment_0_1_1 : ( ( rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 ) ) ;
    public final void rule__ForInitStatement__ChildrenAssignment_0_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11951:1: ( ( ( rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11952:1: ( ( rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11952:1: ( ( rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11953:1: ( rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getChildrenAlternatives_0_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11954:1: ( rule__ForInitStatement__ChildrenAlternatives_0_1_1_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11954:2: rule__ForInitStatement__ChildrenAlternatives_0_1_1_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ForInitStatement__ChildrenAlternatives_0_1_1_0_in_rule__ForInitStatement__ChildrenAssignment_0_1_124261);
            rule__ForInitStatement__ChildrenAlternatives_0_1_1_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getChildrenAlternatives_0_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__ChildrenAssignment_0_1_1


    // $ANTLR start rule__ForInitStatement__ChildrenAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11963:1: rule__ForInitStatement__ChildrenAssignment_1 : ( ruleEmptyStatement ) ;
    public final void rule__ForInitStatement__ChildrenAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11967:1: ( ( ruleEmptyStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11968:1: ( ruleEmptyStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11968:1: ( ruleEmptyStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11969:1: ruleEmptyStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForInitStatementAccess().getChildrenEmptyStatementParserRuleCall_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleEmptyStatement_in_rule__ForInitStatement__ChildrenAssignment_124294);
            ruleEmptyStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForInitStatementAccess().getChildrenEmptyStatementParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForInitStatement__ChildrenAssignment_1


    // $ANTLR start rule__ForPostStatement__ChildrenAssignment_0_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11978:1: rule__ForPostStatement__ChildrenAssignment_0_0 : ( ruleAssignStatement ) ;
    public final void rule__ForPostStatement__ChildrenAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11982:1: ( ( ruleAssignStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11983:1: ( ruleAssignStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11983:1: ( ruleAssignStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11984:1: ruleAssignStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getChildrenAssignStatementParserRuleCall_0_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleAssignStatement_in_rule__ForPostStatement__ChildrenAssignment_0_024325);
            ruleAssignStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getChildrenAssignStatementParserRuleCall_0_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__ChildrenAssignment_0_0


    // $ANTLR start rule__ForPostStatement__ChildrenAssignment_0_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11993:1: rule__ForPostStatement__ChildrenAssignment_0_1_1 : ( ruleAssignStatement ) ;
    public final void rule__ForPostStatement__ChildrenAssignment_0_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11997:1: ( ( ruleAssignStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11998:1: ( ruleAssignStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11998:1: ( ruleAssignStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11999:1: ruleAssignStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getChildrenAssignStatementParserRuleCall_0_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleAssignStatement_in_rule__ForPostStatement__ChildrenAssignment_0_1_124356);
            ruleAssignStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getChildrenAssignStatementParserRuleCall_0_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__ChildrenAssignment_0_1_1


    // $ANTLR start rule__ForPostStatement__ChildrenAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12008:1: rule__ForPostStatement__ChildrenAssignment_1 : ( ruleEmptyStatement ) ;
    public final void rule__ForPostStatement__ChildrenAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12012:1: ( ( ruleEmptyStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12013:1: ( ruleEmptyStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12013:1: ( ruleEmptyStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12014:1: ruleEmptyStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getForPostStatementAccess().getChildrenEmptyStatementParserRuleCall_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleEmptyStatement_in_rule__ForPostStatement__ChildrenAssignment_124387);
            ruleEmptyStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getForPostStatementAccess().getChildrenEmptyStatementParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ForPostStatement__ChildrenAssignment_1


    // $ANTLR start rule__AssignStatement__OperatorAssignment_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12023:1: rule__AssignStatement__OperatorAssignment_1_1 : ( ( '=' ) ) ;
    public final void rule__AssignStatement__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12027:1: ( ( ( '=' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12028:1: ( ( '=' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12028:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12029:1: ( '=' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getOperatorEqualsSignKeyword_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12030:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12031:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getOperatorEqualsSignKeyword_1_1_0()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__AssignStatement__OperatorAssignment_1_124423); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getOperatorEqualsSignKeyword_1_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getOperatorEqualsSignKeyword_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__OperatorAssignment_1_1


    // $ANTLR start rule__AssignStatement__ChildrenAssignment_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12046:1: rule__AssignStatement__ChildrenAssignment_1_2 : ( ruleExpression ) ;
    public final void rule__AssignStatement__ChildrenAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12050:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12051:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12051:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12052:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAssignStatementAccess().getChildrenExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__AssignStatement__ChildrenAssignment_1_224462);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getAssignStatementAccess().getChildrenExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AssignStatement__ChildrenAssignment_1_2


    // $ANTLR start rule__UnamedArgument__ValueAssignment
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12061:1: rule__UnamedArgument__ValueAssignment : ( ruleExpression ) ;
    public final void rule__UnamedArgument__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12065:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12066:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12066:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12067:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getUnamedArgumentAccess().getValueExpressionParserRuleCall_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__UnamedArgument__ValueAssignment24493);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getUnamedArgumentAccess().getValueExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__UnamedArgument__ValueAssignment


    // $ANTLR start rule__NamedArgument__NameAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12076:1: rule__NamedArgument__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__NamedArgument__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12080:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12081:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12081:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12082:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getNameIDTerminalRuleCall_0_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__NamedArgument__NameAssignment_024524); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getNameIDTerminalRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__NameAssignment_0


    // $ANTLR start rule__NamedArgument__ValueAssignment_2_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12091:1: rule__NamedArgument__ValueAssignment_2_0 : ( ruleExpression ) ;
    public final void rule__NamedArgument__ValueAssignment_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12095:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12096:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12096:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12097:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getValueExpressionParserRuleCall_2_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__NamedArgument__ValueAssignment_2_024555);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getValueExpressionParserRuleCall_2_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__ValueAssignment_2_0


    // $ANTLR start rule__NamedArgument__ChildrenAssignment_2_1_2_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12106:1: rule__NamedArgument__ChildrenAssignment_2_1_2_0 : ( ruleArgument ) ;
    public final void rule__NamedArgument__ChildrenAssignment_2_1_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12110:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12111:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12111:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12112:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getChildrenArgumentParserRuleCall_2_1_2_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__NamedArgument__ChildrenAssignment_2_1_2_024586);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getChildrenArgumentParserRuleCall_2_1_2_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__ChildrenAssignment_2_1_2_0


    // $ANTLR start rule__NamedArgument__ChildrenAssignment_2_1_2_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12121:1: rule__NamedArgument__ChildrenAssignment_2_1_2_1_1 : ( ruleArgument ) ;
    public final void rule__NamedArgument__ChildrenAssignment_2_1_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12125:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12126:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12126:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12127:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getNamedArgumentAccess().getChildrenArgumentParserRuleCall_2_1_2_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__NamedArgument__ChildrenAssignment_2_1_2_1_124617);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getNamedArgumentAccess().getChildrenArgumentParserRuleCall_2_1_2_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedArgument__ChildrenAssignment_2_1_2_1_1


    // $ANTLR start rule__Expression__OperatorAssignment_0_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12136:1: rule__Expression__OperatorAssignment_0_1_1 : ( ( '?' ) ) ;
    public final void rule__Expression__OperatorAssignment_0_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12140:1: ( ( ( '?' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12141:1: ( ( '?' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12141:1: ( ( '?' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12142:1: ( '?' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getOperatorQuestionMarkKeyword_0_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12143:1: ( '?' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12144:1: '?'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getOperatorQuestionMarkKeyword_0_1_1_0()); 
            }
            match(input,81,FollowSets000.FOLLOW_81_in_rule__Expression__OperatorAssignment_0_1_124653); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getOperatorQuestionMarkKeyword_0_1_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getOperatorQuestionMarkKeyword_0_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__OperatorAssignment_0_1_1


    // $ANTLR start rule__Expression__ChildrenAssignment_0_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12159:1: rule__Expression__ChildrenAssignment_0_1_2 : ( ruleExpression ) ;
    public final void rule__Expression__ChildrenAssignment_0_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12163:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12164:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12164:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12165:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getChildrenExpressionParserRuleCall_0_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__Expression__ChildrenAssignment_0_1_224692);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getChildrenExpressionParserRuleCall_0_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__ChildrenAssignment_0_1_2


    // $ANTLR start rule__Expression__ChildrenAssignment_0_1_4
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12174:1: rule__Expression__ChildrenAssignment_0_1_4 : ( ruleExpression ) ;
    public final void rule__Expression__ChildrenAssignment_0_1_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12178:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12179:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12179:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12180:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getChildrenExpressionParserRuleCall_0_1_4_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__Expression__ChildrenAssignment_0_1_424723);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getExpressionAccess().getChildrenExpressionParserRuleCall_0_1_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__ChildrenAssignment_0_1_4


    // $ANTLR start rule__SimpleExpression__OperatorAssignment_0_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12189:1: rule__SimpleExpression__OperatorAssignment_0_1_1 : ( ( '=' ) ) ;
    public final void rule__SimpleExpression__OperatorAssignment_0_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12193:1: ( ( ( '=' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12194:1: ( ( '=' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12194:1: ( ( '=' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12195:1: ( '=' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getOperatorEqualsSignKeyword_0_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12196:1: ( '=' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12197:1: '='
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getOperatorEqualsSignKeyword_0_1_1_0()); 
            }
            match(input,53,FollowSets000.FOLLOW_53_in_rule__SimpleExpression__OperatorAssignment_0_1_124759); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getOperatorEqualsSignKeyword_0_1_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getOperatorEqualsSignKeyword_0_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__OperatorAssignment_0_1_1


    // $ANTLR start rule__SimpleExpression__ChildrenAssignment_0_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12212:1: rule__SimpleExpression__ChildrenAssignment_0_1_2 : ( ruleExpression ) ;
    public final void rule__SimpleExpression__ChildrenAssignment_0_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12216:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12217:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12217:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12218:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleExpressionAccess().getChildrenExpressionParserRuleCall_0_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__SimpleExpression__ChildrenAssignment_0_1_224798);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleExpressionAccess().getChildrenExpressionParserRuleCall_0_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleExpression__ChildrenAssignment_0_1_2


    // $ANTLR start rule__ArrayExpression__OperatorAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12227:1: rule__ArrayExpression__OperatorAssignment_1 : ( ( '{' ) ) ;
    public final void rule__ArrayExpression__OperatorAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12231:1: ( ( ( '{' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12232:1: ( ( '{' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12232:1: ( ( '{' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12233:1: ( '{' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getOperatorLeftCurlyBracketKeyword_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12234:1: ( '{' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12235:1: '{'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getOperatorLeftCurlyBracketKeyword_1_0()); 
            }
            match(input,54,FollowSets000.FOLLOW_54_in_rule__ArrayExpression__OperatorAssignment_124834); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getOperatorLeftCurlyBracketKeyword_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getOperatorLeftCurlyBracketKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__OperatorAssignment_1


    // $ANTLR start rule__ArrayExpression__ChildrenAssignment_2_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12250:1: rule__ArrayExpression__ChildrenAssignment_2_0 : ( ruleExpression ) ;
    public final void rule__ArrayExpression__ChildrenAssignment_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12254:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12255:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12255:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12256:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getChildrenExpressionParserRuleCall_2_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ArrayExpression__ChildrenAssignment_2_024873);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getChildrenExpressionParserRuleCall_2_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__ChildrenAssignment_2_0


    // $ANTLR start rule__ArrayExpression__ChildrenAssignment_2_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12265:1: rule__ArrayExpression__ChildrenAssignment_2_1_1 : ( ruleExpression ) ;
    public final void rule__ArrayExpression__ChildrenAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12269:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12270:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12270:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12271:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getArrayExpressionAccess().getChildrenExpressionParserRuleCall_2_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ArrayExpression__ChildrenAssignment_2_1_124904);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getArrayExpressionAccess().getChildrenExpressionParserRuleCall_2_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ArrayExpression__ChildrenAssignment_2_1_1


    // $ANTLR start rule__PatternExpression__ChildrenAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12280:1: rule__PatternExpression__ChildrenAssignment_0 : ( rulePatternDeclaration ) ;
    public final void rule__PatternExpression__ChildrenAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12284:1: ( ( rulePatternDeclaration ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12285:1: ( rulePatternDeclaration )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12285:1: ( rulePatternDeclaration )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12286:1: rulePatternDeclaration
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getChildrenPatternDeclarationParserRuleCall_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePatternDeclaration_in_rule__PatternExpression__ChildrenAssignment_024935);
            rulePatternDeclaration();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getChildrenPatternDeclarationParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__ChildrenAssignment_0


    // $ANTLR start rule__PatternExpression__RefsAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12295:1: rule__PatternExpression__RefsAssignment_1 : ( ( ruleQualifiedID ) ) ;
    public final void rule__PatternExpression__RefsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12299:1: ( ( ( ruleQualifiedID ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12300:1: ( ( ruleQualifiedID ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12300:1: ( ( ruleQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12301:1: ( ruleQualifiedID )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getRefsDeslPatternCrossReference_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12302:1: ( ruleQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12303:1: ruleQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getRefsDeslPatternQualifiedIDParserRuleCall_1_0_1()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedID_in_rule__PatternExpression__RefsAssignment_124970);
            ruleQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getRefsDeslPatternQualifiedIDParserRuleCall_1_0_1()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getRefsDeslPatternCrossReference_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__RefsAssignment_1


    // $ANTLR start rule__PatternExpression__OperatorAssignment_2_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12314:1: rule__PatternExpression__OperatorAssignment_2_0 : ( ( 'evaluate' ) ) ;
    public final void rule__PatternExpression__OperatorAssignment_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12318:1: ( ( ( 'evaluate' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12319:1: ( ( 'evaluate' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12319:1: ( ( 'evaluate' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12320:1: ( 'evaluate' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getOperatorEvaluateKeyword_2_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12321:1: ( 'evaluate' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12322:1: 'evaluate'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getOperatorEvaluateKeyword_2_0_0()); 
            }
            match(input,36,FollowSets000.FOLLOW_36_in_rule__PatternExpression__OperatorAssignment_2_025010); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getOperatorEvaluateKeyword_2_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getOperatorEvaluateKeyword_2_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__OperatorAssignment_2_0


    // $ANTLR start rule__PatternExpression__ChildrenAssignment_2_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12337:1: rule__PatternExpression__ChildrenAssignment_2_2 : ( ruleExpression ) ;
    public final void rule__PatternExpression__ChildrenAssignment_2_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12341:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12342:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12342:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12343:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternExpressionAccess().getChildrenExpressionParserRuleCall_2_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__PatternExpression__ChildrenAssignment_2_225049);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternExpressionAccess().getChildrenExpressionParserRuleCall_2_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternExpression__ChildrenAssignment_2_2


    // $ANTLR start rule__StatementExpression__ChildrenAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12352:1: rule__StatementExpression__ChildrenAssignment_2 : ( ruleCompositeStatement ) ;
    public final void rule__StatementExpression__ChildrenAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12356:1: ( ( ruleCompositeStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12357:1: ( ruleCompositeStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12357:1: ( ruleCompositeStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12358:1: ruleCompositeStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getStatementExpressionAccess().getChildrenCompositeStatementParserRuleCall_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleCompositeStatement_in_rule__StatementExpression__ChildrenAssignment_225080);
            ruleCompositeStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getStatementExpressionAccess().getChildrenCompositeStatementParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__StatementExpression__ChildrenAssignment_2


    // $ANTLR start rule__BooleanExpression__OperatorAssignment_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12367:1: rule__BooleanExpression__OperatorAssignment_1_1 : ( ( rule__BooleanExpression__OperatorAlternatives_1_1_0 ) ) ;
    public final void rule__BooleanExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12371:1: ( ( ( rule__BooleanExpression__OperatorAlternatives_1_1_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12372:1: ( ( rule__BooleanExpression__OperatorAlternatives_1_1_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12372:1: ( ( rule__BooleanExpression__OperatorAlternatives_1_1_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12373:1: ( rule__BooleanExpression__OperatorAlternatives_1_1_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getOperatorAlternatives_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12374:1: ( rule__BooleanExpression__OperatorAlternatives_1_1_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12374:2: rule__BooleanExpression__OperatorAlternatives_1_1_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__OperatorAlternatives_1_1_0_in_rule__BooleanExpression__OperatorAssignment_1_125111);
            rule__BooleanExpression__OperatorAlternatives_1_1_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getOperatorAlternatives_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__OperatorAssignment_1_1


    // $ANTLR start rule__BooleanExpression__ChildrenAssignment_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12383:1: rule__BooleanExpression__ChildrenAssignment_1_2 : ( ruleBooleanTerm ) ;
    public final void rule__BooleanExpression__ChildrenAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12387:1: ( ( ruleBooleanTerm ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12388:1: ( ruleBooleanTerm )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12388:1: ( ruleBooleanTerm )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12389:1: ruleBooleanTerm
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanExpressionAccess().getChildrenBooleanTermParserRuleCall_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBooleanTerm_in_rule__BooleanExpression__ChildrenAssignment_1_225144);
            ruleBooleanTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanExpressionAccess().getChildrenBooleanTermParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanExpression__ChildrenAssignment_1_2


    // $ANTLR start rule__BooleanTerm__OperatorAssignment_0_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12398:1: rule__BooleanTerm__OperatorAssignment_0_1_1 : ( ( rule__BooleanTerm__OperatorAlternatives_0_1_1_0 ) ) ;
    public final void rule__BooleanTerm__OperatorAssignment_0_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12402:1: ( ( ( rule__BooleanTerm__OperatorAlternatives_0_1_1_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12403:1: ( ( rule__BooleanTerm__OperatorAlternatives_0_1_1_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12403:1: ( ( rule__BooleanTerm__OperatorAlternatives_0_1_1_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12404:1: ( rule__BooleanTerm__OperatorAlternatives_0_1_1_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getOperatorAlternatives_0_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12405:1: ( rule__BooleanTerm__OperatorAlternatives_0_1_1_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12405:2: rule__BooleanTerm__OperatorAlternatives_0_1_1_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__OperatorAlternatives_0_1_1_0_in_rule__BooleanTerm__OperatorAssignment_0_1_125175);
            rule__BooleanTerm__OperatorAlternatives_0_1_1_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getOperatorAlternatives_0_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__OperatorAssignment_0_1_1


    // $ANTLR start rule__BooleanTerm__ChildrenAssignment_0_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12414:1: rule__BooleanTerm__ChildrenAssignment_0_1_2 : ( ruleAdditionExpression ) ;
    public final void rule__BooleanTerm__ChildrenAssignment_0_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12418:1: ( ( ruleAdditionExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12419:1: ( ruleAdditionExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12419:1: ( ruleAdditionExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12420:1: ruleAdditionExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getChildrenAdditionExpressionParserRuleCall_0_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleAdditionExpression_in_rule__BooleanTerm__ChildrenAssignment_0_1_225208);
            ruleAdditionExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getChildrenAdditionExpressionParserRuleCall_0_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__ChildrenAssignment_0_1_2


    // $ANTLR start rule__BooleanTerm__ValueAssignment_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12429:1: rule__BooleanTerm__ValueAssignment_1_1 : ( ruleBOOLEAN_CONSTANTS ) ;
    public final void rule__BooleanTerm__ValueAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12433:1: ( ( ruleBOOLEAN_CONSTANTS ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12434:1: ( ruleBOOLEAN_CONSTANTS )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12434:1: ( ruleBOOLEAN_CONSTANTS )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12435:1: ruleBOOLEAN_CONSTANTS
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getBooleanTermAccess().getValueBOOLEAN_CONSTANTSParserRuleCall_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleBOOLEAN_CONSTANTS_in_rule__BooleanTerm__ValueAssignment_1_125239);
            ruleBOOLEAN_CONSTANTS();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getBooleanTermAccess().getValueBOOLEAN_CONSTANTSParserRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BooleanTerm__ValueAssignment_1_1


    // $ANTLR start rule__AdditionExpression__OperatorAssignment_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12444:1: rule__AdditionExpression__OperatorAssignment_1_1 : ( ( rule__AdditionExpression__OperatorAlternatives_1_1_0 ) ) ;
    public final void rule__AdditionExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12448:1: ( ( ( rule__AdditionExpression__OperatorAlternatives_1_1_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12449:1: ( ( rule__AdditionExpression__OperatorAlternatives_1_1_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12449:1: ( ( rule__AdditionExpression__OperatorAlternatives_1_1_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12450:1: ( rule__AdditionExpression__OperatorAlternatives_1_1_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getOperatorAlternatives_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12451:1: ( rule__AdditionExpression__OperatorAlternatives_1_1_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12451:2: rule__AdditionExpression__OperatorAlternatives_1_1_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__OperatorAlternatives_1_1_0_in_rule__AdditionExpression__OperatorAssignment_1_125270);
            rule__AdditionExpression__OperatorAlternatives_1_1_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getOperatorAlternatives_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__OperatorAssignment_1_1


    // $ANTLR start rule__AdditionExpression__ChildrenAssignment_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12460:1: rule__AdditionExpression__ChildrenAssignment_1_2 : ( ruleMulExpression ) ;
    public final void rule__AdditionExpression__ChildrenAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12464:1: ( ( ruleMulExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12465:1: ( ruleMulExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12465:1: ( ruleMulExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12466:1: ruleMulExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getAdditionExpressionAccess().getChildrenMulExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleMulExpression_in_rule__AdditionExpression__ChildrenAssignment_1_225303);
            ruleMulExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getAdditionExpressionAccess().getChildrenMulExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AdditionExpression__ChildrenAssignment_1_2


    // $ANTLR start rule__MulExpression__OperatorAssignment_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12475:1: rule__MulExpression__OperatorAssignment_1_1 : ( ( rule__MulExpression__OperatorAlternatives_1_1_0 ) ) ;
    public final void rule__MulExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12479:1: ( ( ( rule__MulExpression__OperatorAlternatives_1_1_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12480:1: ( ( rule__MulExpression__OperatorAlternatives_1_1_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12480:1: ( ( rule__MulExpression__OperatorAlternatives_1_1_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12481:1: ( rule__MulExpression__OperatorAlternatives_1_1_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getOperatorAlternatives_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12482:1: ( rule__MulExpression__OperatorAlternatives_1_1_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12482:2: rule__MulExpression__OperatorAlternatives_1_1_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__MulExpression__OperatorAlternatives_1_1_0_in_rule__MulExpression__OperatorAssignment_1_125334);
            rule__MulExpression__OperatorAlternatives_1_1_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getOperatorAlternatives_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__OperatorAssignment_1_1


    // $ANTLR start rule__MulExpression__ChildrenAssignment_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12491:1: rule__MulExpression__ChildrenAssignment_1_2 : ( ruleTerm ) ;
    public final void rule__MulExpression__ChildrenAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12495:1: ( ( ruleTerm ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12496:1: ( ruleTerm )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12496:1: ( ruleTerm )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12497:1: ruleTerm
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getMulExpressionAccess().getChildrenTermParserRuleCall_1_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_rule__MulExpression__ChildrenAssignment_1_225367);
            ruleTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getMulExpressionAccess().getChildrenTermParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MulExpression__ChildrenAssignment_1_2


    // $ANTLR start rule__Term__OperatorAssignment_0_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12506:1: rule__Term__OperatorAssignment_0_1 : ( ( '!' ) ) ;
    public final void rule__Term__OperatorAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12510:1: ( ( ( '!' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12511:1: ( ( '!' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12511:1: ( ( '!' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12512:1: ( '!' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermAccess().getOperatorExclamationMarkKeyword_0_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12513:1: ( '!' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12514:1: '!'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermAccess().getOperatorExclamationMarkKeyword_0_1_0()); 
            }
            match(input,82,FollowSets000.FOLLOW_82_in_rule__Term__OperatorAssignment_0_125403); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTermAccess().getOperatorExclamationMarkKeyword_0_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getTermAccess().getOperatorExclamationMarkKeyword_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__OperatorAssignment_0_1


    // $ANTLR start rule__Term__ChildrenAssignment_0_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12529:1: rule__Term__ChildrenAssignment_0_2 : ( ruleTerm ) ;
    public final void rule__Term__ChildrenAssignment_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12533:1: ( ( ruleTerm ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12534:1: ( ruleTerm )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12534:1: ( ruleTerm )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12535:1: ruleTerm
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTermAccess().getChildrenTermParserRuleCall_0_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_rule__Term__ChildrenAssignment_0_225442);
            ruleTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTermAccess().getChildrenTermParserRuleCall_0_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Term__ChildrenAssignment_0_2


    // $ANTLR start rule__ComplexTerm__OperatorAssignment_1_0_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12544:1: rule__ComplexTerm__OperatorAssignment_1_0_1 : ( ( '.' ) ) ;
    public final void rule__ComplexTerm__OperatorAssignment_1_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12548:1: ( ( ( '.' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12549:1: ( ( '.' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12549:1: ( ( '.' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12550:1: ( '.' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorFullStopKeyword_1_0_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12551:1: ( '.' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12552:1: '.'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorFullStopKeyword_1_0_1_0()); 
            }
            match(input,76,FollowSets000.FOLLOW_76_in_rule__ComplexTerm__OperatorAssignment_1_0_125478); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorFullStopKeyword_1_0_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorFullStopKeyword_1_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__OperatorAssignment_1_0_1


    // $ANTLR start rule__ComplexTerm__ChildrenAssignment_1_0_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12567:1: rule__ComplexTerm__ChildrenAssignment_1_0_2 : ( ruleSimpleTerm ) ;
    public final void rule__ComplexTerm__ChildrenAssignment_1_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12571:1: ( ( ruleSimpleTerm ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12572:1: ( ruleSimpleTerm )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12572:1: ( ruleSimpleTerm )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12573:1: ruleSimpleTerm
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenSimpleTermParserRuleCall_1_0_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleSimpleTerm_in_rule__ComplexTerm__ChildrenAssignment_1_0_225517);
            ruleSimpleTerm();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenSimpleTermParserRuleCall_1_0_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__ChildrenAssignment_1_0_2


    // $ANTLR start rule__ComplexTerm__OperatorAssignment_1_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12582:1: rule__ComplexTerm__OperatorAssignment_1_1_1 : ( ( '(' ) ) ;
    public final void rule__ComplexTerm__OperatorAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12586:1: ( ( ( '(' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12587:1: ( ( '(' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12587:1: ( ( '(' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12588:1: ( '(' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorLeftParenthesisKeyword_1_1_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12589:1: ( '(' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12590:1: '('
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorLeftParenthesisKeyword_1_1_1_0()); 
            }
            match(input,48,FollowSets000.FOLLOW_48_in_rule__ComplexTerm__OperatorAssignment_1_1_125553); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorLeftParenthesisKeyword_1_1_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorLeftParenthesisKeyword_1_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__OperatorAssignment_1_1_1


    // $ANTLR start rule__ComplexTerm__ChildrenAssignment_1_1_2_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12605:1: rule__ComplexTerm__ChildrenAssignment_1_1_2_0 : ( ruleExpression ) ;
    public final void rule__ComplexTerm__ChildrenAssignment_1_1_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12609:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12610:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12610:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12611:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenExpressionParserRuleCall_1_1_2_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ComplexTerm__ChildrenAssignment_1_1_2_025592);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenExpressionParserRuleCall_1_1_2_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__ChildrenAssignment_1_1_2_0


    // $ANTLR start rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12620:1: rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1 : ( ruleExpression ) ;
    public final void rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12624:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12625:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12625:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12626:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenExpressionParserRuleCall_1_1_2_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ComplexTerm__ChildrenAssignment_1_1_2_1_125623);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenExpressionParserRuleCall_1_1_2_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1


    // $ANTLR start rule__ComplexTerm__OperatorAssignment_1_2_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12635:1: rule__ComplexTerm__OperatorAssignment_1_2_1 : ( ( '[' ) ) ;
    public final void rule__ComplexTerm__OperatorAssignment_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12639:1: ( ( ( '[' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12640:1: ( ( '[' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12640:1: ( ( '[' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12641:1: ( '[' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorLeftSquareBracketKeyword_1_2_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12642:1: ( '[' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12643:1: '['
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getOperatorLeftSquareBracketKeyword_1_2_1_0()); 
            }
            match(input,83,FollowSets000.FOLLOW_83_in_rule__ComplexTerm__OperatorAssignment_1_2_125659); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorLeftSquareBracketKeyword_1_2_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getOperatorLeftSquareBracketKeyword_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__OperatorAssignment_1_2_1


    // $ANTLR start rule__ComplexTerm__ChildrenAssignment_1_2_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12658:1: rule__ComplexTerm__ChildrenAssignment_1_2_2 : ( ruleExpression ) ;
    public final void rule__ComplexTerm__ChildrenAssignment_1_2_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12662:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12663:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12663:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12664:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getComplexTermAccess().getChildrenExpressionParserRuleCall_1_2_2_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ComplexTerm__ChildrenAssignment_1_2_225698);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getComplexTermAccess().getChildrenExpressionParserRuleCall_1_2_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ComplexTerm__ChildrenAssignment_1_2_2


    // $ANTLR start rule__SimpleTerm__ConstantAssignment_1_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12673:1: rule__SimpleTerm__ConstantAssignment_1_2 : ( ( ruleQualifiedID ) ) ;
    public final void rule__SimpleTerm__ConstantAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12677:1: ( ( ( ruleQualifiedID ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12678:1: ( ( ruleQualifiedID ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12678:1: ( ( ruleQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12679:1: ( ruleQualifiedID )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getConstantConstantCrossReference_1_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12680:1: ( ruleQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12681:1: ruleQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getConstantConstantQualifiedIDParserRuleCall_1_2_0_1()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedID_in_rule__SimpleTerm__ConstantAssignment_1_225733);
            ruleQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getConstantConstantQualifiedIDParserRuleCall_1_2_0_1()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getConstantConstantCrossReference_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__ConstantAssignment_1_2


    // $ANTLR start rule__SimpleTerm__OperatorAssignment_4_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12692:1: rule__SimpleTerm__OperatorAssignment_4_1 : ( ( 'new' ) ) ;
    public final void rule__SimpleTerm__OperatorAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12696:1: ( ( ( 'new' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12697:1: ( ( 'new' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12697:1: ( ( 'new' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12698:1: ( 'new' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorNewKeyword_4_1_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12699:1: ( 'new' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12700:1: 'new'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorNewKeyword_4_1_0()); 
            }
            match(input,84,FollowSets000.FOLLOW_84_in_rule__SimpleTerm__OperatorAssignment_4_125773); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorNewKeyword_4_1_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorNewKeyword_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__OperatorAssignment_4_1


    // $ANTLR start rule__SimpleTerm__TypeAssignment_4_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12715:1: rule__SimpleTerm__TypeAssignment_4_2 : ( ( ruleQualifiedID ) ) ;
    public final void rule__SimpleTerm__TypeAssignment_4_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12719:1: ( ( ( ruleQualifiedID ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12720:1: ( ( ruleQualifiedID ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12720:1: ( ( ruleQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12721:1: ( ruleQualifiedID )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getTypeJavaTypeProxyCrossReference_4_2_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12722:1: ( ruleQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12723:1: ruleQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getTypeJavaTypeProxyQualifiedIDParserRuleCall_4_2_0_1()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedID_in_rule__SimpleTerm__TypeAssignment_4_225816);
            ruleQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getTypeJavaTypeProxyQualifiedIDParserRuleCall_4_2_0_1()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getTypeJavaTypeProxyCrossReference_4_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__TypeAssignment_4_2


    // $ANTLR start rule__SimpleTerm__ChildrenAssignment_4_4_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12734:1: rule__SimpleTerm__ChildrenAssignment_4_4_0 : ( ruleExpression ) ;
    public final void rule__SimpleTerm__ChildrenAssignment_4_4_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12738:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12739:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12739:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12740:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenExpressionParserRuleCall_4_4_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__SimpleTerm__ChildrenAssignment_4_4_025851);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenExpressionParserRuleCall_4_4_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__ChildrenAssignment_4_4_0


    // $ANTLR start rule__SimpleTerm__ChildrenAssignment_4_4_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12749:1: rule__SimpleTerm__ChildrenAssignment_4_4_1_1 : ( ruleExpression ) ;
    public final void rule__SimpleTerm__ChildrenAssignment_4_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12753:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12754:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12754:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12755:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenExpressionParserRuleCall_4_4_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__SimpleTerm__ChildrenAssignment_4_4_1_125882);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenExpressionParserRuleCall_4_4_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__ChildrenAssignment_4_4_1_1


    // $ANTLR start rule__SimpleTerm__OperatorAssignment_5_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12764:1: rule__SimpleTerm__OperatorAssignment_5_0 : ( ( rule__SimpleTerm__OperatorAlternatives_5_0_0 ) ) ;
    public final void rule__SimpleTerm__OperatorAssignment_5_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12768:1: ( ( ( rule__SimpleTerm__OperatorAlternatives_5_0_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12769:1: ( ( rule__SimpleTerm__OperatorAlternatives_5_0_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12769:1: ( ( rule__SimpleTerm__OperatorAlternatives_5_0_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12770:1: ( rule__SimpleTerm__OperatorAlternatives_5_0_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorAlternatives_5_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12771:1: ( rule__SimpleTerm__OperatorAlternatives_5_0_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12771:2: rule__SimpleTerm__OperatorAlternatives_5_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SimpleTerm__OperatorAlternatives_5_0_0_in_rule__SimpleTerm__OperatorAssignment_5_025913);
            rule__SimpleTerm__OperatorAlternatives_5_0_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorAlternatives_5_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__OperatorAssignment_5_0


    // $ANTLR start rule__SimpleTerm__ChildrenAssignment_5_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12780:1: rule__SimpleTerm__ChildrenAssignment_5_1 : ( ruleExpression ) ;
    public final void rule__SimpleTerm__ChildrenAssignment_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12784:1: ( ( ruleExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12785:1: ( ruleExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12785:1: ( ruleExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12786:1: ruleExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenExpressionParserRuleCall_5_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__SimpleTerm__ChildrenAssignment_5_125946);
            ruleExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenExpressionParserRuleCall_5_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__ChildrenAssignment_5_1


    // $ANTLR start rule__SimpleTerm__OperatorAssignment_6_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12795:1: rule__SimpleTerm__OperatorAssignment_6_0 : ( ( 'job' ) ) ;
    public final void rule__SimpleTerm__OperatorAssignment_6_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12799:1: ( ( ( 'job' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12800:1: ( ( 'job' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12800:1: ( ( 'job' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12801:1: ( 'job' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorJobKeyword_6_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12802:1: ( 'job' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12803:1: 'job'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorJobKeyword_6_0_0()); 
            }
            match(input,85,FollowSets000.FOLLOW_85_in_rule__SimpleTerm__OperatorAssignment_6_025982); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorJobKeyword_6_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorJobKeyword_6_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__OperatorAssignment_6_0


    // $ANTLR start rule__SimpleTerm__ChildrenAssignment_6_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12818:1: rule__SimpleTerm__ChildrenAssignment_6_1 : ( ruleStatement ) ;
    public final void rule__SimpleTerm__ChildrenAssignment_6_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12822:1: ( ( ruleStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12823:1: ( ruleStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12823:1: ( ruleStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12824:1: ruleStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenStatementParserRuleCall_6_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__SimpleTerm__ChildrenAssignment_6_126021);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenStatementParserRuleCall_6_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__ChildrenAssignment_6_1


    // $ANTLR start rule__SimpleTerm__OperatorAssignment_7_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12833:1: rule__SimpleTerm__OperatorAssignment_7_0 : ( ( 'nameresolver' ) ) ;
    public final void rule__SimpleTerm__OperatorAssignment_7_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12837:1: ( ( ( 'nameresolver' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12838:1: ( ( 'nameresolver' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12838:1: ( ( 'nameresolver' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12839:1: ( 'nameresolver' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorNameresolverKeyword_7_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12840:1: ( 'nameresolver' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12841:1: 'nameresolver'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorNameresolverKeyword_7_0_0()); 
            }
            match(input,86,FollowSets000.FOLLOW_86_in_rule__SimpleTerm__OperatorAssignment_7_026057); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorNameresolverKeyword_7_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorNameresolverKeyword_7_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__OperatorAssignment_7_0


    // $ANTLR start rule__SimpleTerm__ChildrenAssignment_7_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12856:1: rule__SimpleTerm__ChildrenAssignment_7_1 : ( ruleStatement ) ;
    public final void rule__SimpleTerm__ChildrenAssignment_7_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12860:1: ( ( ruleStatement ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12861:1: ( ruleStatement )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12861:1: ( ruleStatement )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12862:1: ruleStatement
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenStatementParserRuleCall_7_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleStatement_in_rule__SimpleTerm__ChildrenAssignment_7_126096);
            ruleStatement();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenStatementParserRuleCall_7_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__ChildrenAssignment_7_1


    // $ANTLR start rule__SimpleTerm__OperatorAssignment_8_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12871:1: rule__SimpleTerm__OperatorAssignment_8_0 : ( ( 'ref' ) ) ;
    public final void rule__SimpleTerm__OperatorAssignment_8_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12875:1: ( ( ( 'ref' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12876:1: ( ( 'ref' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12876:1: ( ( 'ref' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12877:1: ( 'ref' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorRefKeyword_8_0_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12878:1: ( 'ref' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12879:1: 'ref'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorRefKeyword_8_0_0()); 
            }
            match(input,87,FollowSets000.FOLLOW_87_in_rule__SimpleTerm__OperatorAssignment_8_026132); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorRefKeyword_8_0_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorRefKeyword_8_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__OperatorAssignment_8_0


    // $ANTLR start rule__SimpleTerm__ChildrenAssignment_8_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12894:1: rule__SimpleTerm__ChildrenAssignment_8_1 : ( rulePatternExpression ) ;
    public final void rule__SimpleTerm__ChildrenAssignment_8_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12898:1: ( ( rulePatternExpression ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12899:1: ( rulePatternExpression )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12899:1: ( rulePatternExpression )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12900:1: rulePatternExpression
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getChildrenPatternExpressionParserRuleCall_8_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_rulePatternExpression_in_rule__SimpleTerm__ChildrenAssignment_8_126171);
            rulePatternExpression();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getChildrenPatternExpressionParserRuleCall_8_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__ChildrenAssignment_8_1


    // $ANTLR start rule__SimpleTerm__OperatorAssignment_9
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12909:1: rule__SimpleTerm__OperatorAssignment_9 : ( ( 'null' ) ) ;
    public final void rule__SimpleTerm__OperatorAssignment_9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12913:1: ( ( ( 'null' ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12914:1: ( ( 'null' ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12914:1: ( ( 'null' ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12915:1: ( 'null' )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorNullKeyword_9_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12916:1: ( 'null' )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12917:1: 'null'
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getSimpleTermAccess().getOperatorNullKeyword_9_0()); 
            }
            match(input,88,FollowSets000.FOLLOW_88_in_rule__SimpleTerm__OperatorAssignment_926207); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorNullKeyword_9_0()); 
            }

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getSimpleTermAccess().getOperatorNullKeyword_9_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SimpleTerm__OperatorAssignment_9


    // $ANTLR start rule__VariableTerm__OperatorAssignment
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12932:1: rule__VariableTerm__OperatorAssignment : ( ( rule__VariableTerm__OperatorAlternatives_0 ) ) ;
    public final void rule__VariableTerm__OperatorAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12936:1: ( ( ( rule__VariableTerm__OperatorAlternatives_0 ) ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12937:1: ( ( rule__VariableTerm__OperatorAlternatives_0 ) )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12937:1: ( ( rule__VariableTerm__OperatorAlternatives_0 ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12938:1: ( rule__VariableTerm__OperatorAlternatives_0 )
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getVariableTermAccess().getOperatorAlternatives_0()); 
            }
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12939:1: ( rule__VariableTerm__OperatorAlternatives_0 )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12939:2: rule__VariableTerm__OperatorAlternatives_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__VariableTerm__OperatorAlternatives_0_in_rule__VariableTerm__OperatorAssignment26246);
            rule__VariableTerm__OperatorAlternatives_0();
            _fsp--;
            if (failed) return ;

            }

            if ( backtracking==0 ) {
               after(grammarAccess.getVariableTermAccess().getOperatorAlternatives_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__VariableTerm__OperatorAssignment


    // $ANTLR start rule__LiteralExpression__ValueAssignment_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12948:1: rule__LiteralExpression__ValueAssignment_0 : ( RULE_STRING ) ;
    public final void rule__LiteralExpression__ValueAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12952:1: ( ( RULE_STRING ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12953:1: ( RULE_STRING )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12953:1: ( RULE_STRING )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12954:1: RULE_STRING
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLiteralExpressionAccess().getValueSTRINGTerminalRuleCall_0_0()); 
            }
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__LiteralExpression__ValueAssignment_026279); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLiteralExpressionAccess().getValueSTRINGTerminalRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LiteralExpression__ValueAssignment_0


    // $ANTLR start rule__LiteralExpression__ValueAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12963:1: rule__LiteralExpression__ValueAssignment_1 : ( RULE_VERBATIM_STRING ) ;
    public final void rule__LiteralExpression__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12967:1: ( ( RULE_VERBATIM_STRING ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12968:1: ( RULE_VERBATIM_STRING )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12968:1: ( RULE_VERBATIM_STRING )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12969:1: RULE_VERBATIM_STRING
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLiteralExpressionAccess().getValueVERBATIM_STRINGTerminalRuleCall_1_0()); 
            }
            match(input,RULE_VERBATIM_STRING,FollowSets000.FOLLOW_RULE_VERBATIM_STRING_in_rule__LiteralExpression__ValueAssignment_126310); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLiteralExpressionAccess().getValueVERBATIM_STRINGTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LiteralExpression__ValueAssignment_1


    // $ANTLR start rule__LiteralExpression__ValueAssignment_2
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12978:1: rule__LiteralExpression__ValueAssignment_2 : ( RULE_INT ) ;
    public final void rule__LiteralExpression__ValueAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12982:1: ( ( RULE_INT ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12983:1: ( RULE_INT )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12983:1: ( RULE_INT )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12984:1: RULE_INT
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLiteralExpressionAccess().getValueINTTerminalRuleCall_2_0()); 
            }
            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__LiteralExpression__ValueAssignment_226341); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLiteralExpressionAccess().getValueINTTerminalRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LiteralExpression__ValueAssignment_2


    // $ANTLR start rule__PatternMatchInfoProxy__NameAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12993:1: rule__PatternMatchInfoProxy__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__PatternMatchInfoProxy__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12997:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12998:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12998:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:12999:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getNameIDTerminalRuleCall_1_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__PatternMatchInfoProxy__NameAssignment_126372); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getNameIDTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__NameAssignment_1


    // $ANTLR start rule__PatternMatchInfoProxy__BaseClassAssignment_3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13008:1: rule__PatternMatchInfoProxy__BaseClassAssignment_3 : ( ruleDotQualifiedID ) ;
    public final void rule__PatternMatchInfoProxy__BaseClassAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13012:1: ( ( ruleDotQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13013:1: ( ruleDotQualifiedID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13013:1: ( ruleDotQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13014:1: ruleDotQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getBaseClassDotQualifiedIDParserRuleCall_3_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDotQualifiedID_in_rule__PatternMatchInfoProxy__BaseClassAssignment_326403);
            ruleDotQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getBaseClassDotQualifiedIDParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__BaseClassAssignment_3


    // $ANTLR start rule__PatternMatchInfoProxy__FactoryAssignment_4_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13023:1: rule__PatternMatchInfoProxy__FactoryAssignment_4_1 : ( ruleDotQualifiedID ) ;
    public final void rule__PatternMatchInfoProxy__FactoryAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13027:1: ( ( ruleDotQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13028:1: ( ruleDotQualifiedID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13028:1: ( ruleDotQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13029:1: ruleDotQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getFactoryDotQualifiedIDParserRuleCall_4_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDotQualifiedID_in_rule__PatternMatchInfoProxy__FactoryAssignment_4_126434);
            ruleDotQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getFactoryDotQualifiedIDParserRuleCall_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__FactoryAssignment_4_1


    // $ANTLR start rule__PatternMatchInfoProxy__ChildrenAssignment_5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13038:1: rule__PatternMatchInfoProxy__ChildrenAssignment_5 : ( ruleProxyArgument ) ;
    public final void rule__PatternMatchInfoProxy__ChildrenAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13042:1: ( ( ruleProxyArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13043:1: ( ruleProxyArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13043:1: ( ruleProxyArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13044:1: ruleProxyArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getPatternMatchInfoProxyAccess().getChildrenProxyArgumentParserRuleCall_5_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleProxyArgument_in_rule__PatternMatchInfoProxy__ChildrenAssignment_526465);
            ruleProxyArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getPatternMatchInfoProxyAccess().getChildrenProxyArgumentParserRuleCall_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PatternMatchInfoProxy__ChildrenAssignment_5


    // $ANTLR start rule__LocatorProxy__NameAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13053:1: rule__LocatorProxy__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__LocatorProxy__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13057:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13058:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13058:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13059:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getNameIDTerminalRuleCall_1_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__LocatorProxy__NameAssignment_126496); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getNameIDTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__NameAssignment_1


    // $ANTLR start rule__LocatorProxy__BaseClassAssignment_3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13068:1: rule__LocatorProxy__BaseClassAssignment_3 : ( ruleDotQualifiedID ) ;
    public final void rule__LocatorProxy__BaseClassAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13072:1: ( ( ruleDotQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13073:1: ( ruleDotQualifiedID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13073:1: ( ruleDotQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13074:1: ruleDotQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getBaseClassDotQualifiedIDParserRuleCall_3_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDotQualifiedID_in_rule__LocatorProxy__BaseClassAssignment_326527);
            ruleDotQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getBaseClassDotQualifiedIDParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__BaseClassAssignment_3


    // $ANTLR start rule__LocatorProxy__FactoryAssignment_4_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13083:1: rule__LocatorProxy__FactoryAssignment_4_1 : ( ruleDotQualifiedID ) ;
    public final void rule__LocatorProxy__FactoryAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13087:1: ( ( ruleDotQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13088:1: ( ruleDotQualifiedID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13088:1: ( ruleDotQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13089:1: ruleDotQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getFactoryDotQualifiedIDParserRuleCall_4_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDotQualifiedID_in_rule__LocatorProxy__FactoryAssignment_4_126558);
            ruleDotQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getFactoryDotQualifiedIDParserRuleCall_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__FactoryAssignment_4_1


    // $ANTLR start rule__LocatorProxy__ChildrenAssignment_5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13098:1: rule__LocatorProxy__ChildrenAssignment_5 : ( ruleProxyArgument ) ;
    public final void rule__LocatorProxy__ChildrenAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13102:1: ( ( ruleProxyArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13103:1: ( ruleProxyArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13103:1: ( ruleProxyArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13104:1: ruleProxyArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getLocatorProxyAccess().getChildrenProxyArgumentParserRuleCall_5_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleProxyArgument_in_rule__LocatorProxy__ChildrenAssignment_526589);
            ruleProxyArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getLocatorProxyAccess().getChildrenProxyArgumentParserRuleCall_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__LocatorProxy__ChildrenAssignment_5


    // $ANTLR start rule__TypeProxy__NameAssignment_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13113:1: rule__TypeProxy__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__TypeProxy__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13117:1: ( ( RULE_ID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13118:1: ( RULE_ID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13118:1: ( RULE_ID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13119:1: RULE_ID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getNameIDTerminalRuleCall_1_0()); 
            }
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__TypeProxy__NameAssignment_126620); if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getNameIDTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__NameAssignment_1


    // $ANTLR start rule__TypeProxy__BaseClassAssignment_3
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13128:1: rule__TypeProxy__BaseClassAssignment_3 : ( ruleDotQualifiedID ) ;
    public final void rule__TypeProxy__BaseClassAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13132:1: ( ( ruleDotQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13133:1: ( ruleDotQualifiedID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13133:1: ( ruleDotQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13134:1: ruleDotQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getBaseClassDotQualifiedIDParserRuleCall_3_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDotQualifiedID_in_rule__TypeProxy__BaseClassAssignment_326651);
            ruleDotQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getBaseClassDotQualifiedIDParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__BaseClassAssignment_3


    // $ANTLR start rule__TypeProxy__FactoryAssignment_4_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13143:1: rule__TypeProxy__FactoryAssignment_4_1 : ( ruleDotQualifiedID ) ;
    public final void rule__TypeProxy__FactoryAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13147:1: ( ( ruleDotQualifiedID ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13148:1: ( ruleDotQualifiedID )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13148:1: ( ruleDotQualifiedID )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13149:1: ruleDotQualifiedID
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getFactoryDotQualifiedIDParserRuleCall_4_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleDotQualifiedID_in_rule__TypeProxy__FactoryAssignment_4_126682);
            ruleDotQualifiedID();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getFactoryDotQualifiedIDParserRuleCall_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__FactoryAssignment_4_1


    // $ANTLR start rule__TypeProxy__ChildrenAssignment_5
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13158:1: rule__TypeProxy__ChildrenAssignment_5 : ( ruleProxyArgument ) ;
    public final void rule__TypeProxy__ChildrenAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13162:1: ( ( ruleProxyArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13163:1: ( ruleProxyArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13163:1: ( ruleProxyArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13164:1: ruleProxyArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getTypeProxyAccess().getChildrenProxyArgumentParserRuleCall_5_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleProxyArgument_in_rule__TypeProxy__ChildrenAssignment_526713);
            ruleProxyArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getTypeProxyAccess().getChildrenProxyArgumentParserRuleCall_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TypeProxy__ChildrenAssignment_5


    // $ANTLR start rule__ProxyArgument__ChildrenAssignment_3_0
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13173:1: rule__ProxyArgument__ChildrenAssignment_3_0 : ( ruleArgument ) ;
    public final void rule__ProxyArgument__ChildrenAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13177:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13178:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13178:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13179:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getChildrenArgumentParserRuleCall_3_0_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__ProxyArgument__ChildrenAssignment_3_026744);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getChildrenArgumentParserRuleCall_3_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__ChildrenAssignment_3_0


    // $ANTLR start rule__ProxyArgument__ChildrenAssignment_3_1_1
    // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13188:1: rule__ProxyArgument__ChildrenAssignment_3_1_1 : ( ruleArgument ) ;
    public final void rule__ProxyArgument__ChildrenAssignment_3_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13192:1: ( ( ruleArgument ) )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13193:1: ( ruleArgument )
            {
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13193:1: ( ruleArgument )
            // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:13194:1: ruleArgument
            {
            if ( backtracking==0 ) {
               before(grammarAccess.getProxyArgumentAccess().getChildrenArgumentParserRuleCall_3_1_1_0()); 
            }
            pushFollow(FollowSets000.FOLLOW_ruleArgument_in_rule__ProxyArgument__ChildrenAssignment_3_1_126775);
            ruleArgument();
            _fsp--;
            if (failed) return ;
            if ( backtracking==0 ) {
               after(grammarAccess.getProxyArgumentAccess().getChildrenArgumentParserRuleCall_3_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ProxyArgument__ChildrenAssignment_3_1_1

    // $ANTLR start synpred26
    public final void synpred26_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1813:1: ( ( ruleNamedArgument ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1813:1: ( ruleNamedArgument )
        {
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1813:1: ( ruleNamedArgument )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:1814:1: ruleNamedArgument
        {
        if ( backtracking==0 ) {
           before(grammarAccess.getArgumentAccess().getNamedArgumentParserRuleCall_0()); 
        }
        pushFollow(FollowSets000.FOLLOW_ruleNamedArgument_in_synpred263888);
        ruleNamedArgument();
        _fsp--;
        if (failed) return ;

        }


        }
    }
    // $ANTLR end synpred26

    // $ANTLR start synpred70
    public final void synpred70_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2870:2: ( rule__PatternDeclaration__ChildrenAssignment_6 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:2870:2: rule__PatternDeclaration__ChildrenAssignment_6
        {
        pushFollow(FollowSets000.FOLLOW_rule__PatternDeclaration__ChildrenAssignment_6_in_synpred706195);
        rule__PatternDeclaration__ChildrenAssignment_6();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred70

    // $ANTLR start synpred72
    public final void synpred72_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3603:2: ( rule__ReturnStatement__ChildrenAssignment_1 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3603:2: rule__ReturnStatement__ChildrenAssignment_1
        {
        pushFollow(FollowSets000.FOLLOW_rule__ReturnStatement__ChildrenAssignment_1_in_synpred727618);
        rule__ReturnStatement__ChildrenAssignment_1();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred72

    // $ANTLR start synpred74
    public final void synpred74_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3824:2: ( rule__DeclarationStatement__Group_2__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:3824:2: rule__DeclarationStatement__Group_2__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__DeclarationStatement__Group_2__0_in_synpred748053);
        rule__DeclarationStatement__Group_2__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred74

    // $ANTLR start synpred79
    public final void synpred79_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4674:2: ( rule__MatchStatement__Group_2__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4674:2: rule__MatchStatement__Group_2__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2__0_in_synpred799727);
        rule__MatchStatement__Group_2__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred79

    // $ANTLR start synpred80
    public final void synpred80_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4702:2: ( rule__MatchStatement__Group_3__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4702:2: rule__MatchStatement__Group_3__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3__0_in_synpred809785);
        rule__MatchStatement__Group_3__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred80

    // $ANTLR start synpred81
    public final void synpred81_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4798:2: ( rule__MatchStatement__Group_2_2__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4798:2: rule__MatchStatement__Group_2_2__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_2_2__0_in_synpred819973);
        rule__MatchStatement__Group_2_2__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred81

    // $ANTLR start synpred82
    public final void synpred82_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4955:2: ( rule__MatchStatement__Group_3_2__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:4955:2: rule__MatchStatement__Group_3_2__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__MatchStatement__Group_3_2__0_in_synpred8210282);
        rule__MatchStatement__Group_3_2__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred82

    // $ANTLR start synpred83
    public final void synpred83_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5297:2: ( rule__IfStatement__Group_5__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:5297:2: rule__IfStatement__Group_5__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__IfStatement__Group_5__0_in_synpred8310960);
        rule__IfStatement__Group_5__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred83

    // $ANTLR start synpred89
    public final void synpred89_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6878:2: ( rule__Expression__Group_0_1__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:6878:2: rule__Expression__Group_0_1__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__Expression__Group_0_1__0_in_synpred8914064);
        rule__Expression__Group_0_1__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred89

    // $ANTLR start synpred90
    public final void synpred90_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7097:2: ( rule__SimpleExpression__Group_0_1__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7097:2: rule__SimpleExpression__Group_0_1__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__SimpleExpression__Group_0_1__0_in_synpred9014495);
        rule__SimpleExpression__Group_0_1__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred90

    // $ANTLR start synpred93
    public final void synpred93_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7726:2: ( rule__BooleanExpression__Group_1__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7726:2: rule__BooleanExpression__Group_1__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Group_1__0_in_synpred9315729);
        rule__BooleanExpression__Group_1__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred93

    // $ANTLR start synpred94
    public final void synpred94_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7881:2: ( rule__BooleanTerm__Group_0_1__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:7881:2: rule__BooleanTerm__Group_0_1__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__BooleanTerm__Group_0_1__0_in_synpred9416034);
        rule__BooleanTerm__Group_0_1__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred94

    // $ANTLR start synpred95
    public final void synpred95_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8099:2: ( rule__AdditionExpression__Group_1__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8099:2: rule__AdditionExpression__Group_1__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__AdditionExpression__Group_1__0_in_synpred9516461);
        rule__AdditionExpression__Group_1__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred95

    // $ANTLR start synpred96
    public final void synpred96_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8254:2: ( rule__MulExpression__Group_1__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8254:2: rule__MulExpression__Group_1__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__MulExpression__Group_1__0_in_synpred9616766);
        rule__MulExpression__Group_1__0();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred96

    // $ANTLR start synpred97
    public final void synpred97_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8503:2: ( rule__ComplexTerm__Alternatives_1 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:8503:2: rule__ComplexTerm__Alternatives_1
        {
        pushFollow(FollowSets000.FOLLOW_rule__ComplexTerm__Alternatives_1_in_synpred9717255);
        rule__ComplexTerm__Alternatives_1();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred97

    // $ANTLR start synpred112
    public final void synpred112_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11056:4: ( ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11056:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) )
        {
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11056:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11057:5: {...}? => ( ( ( rule__LocateStatement__Group_3_0__0 ) ) )
        {
        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0) ) {
            if (backtracking>0) {failed=true; return ;}
            throw new FailedPredicateException(input, "synpred112", "getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0)");
        }
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11057:112: ( ( ( rule__LocateStatement__Group_3_0__0 ) ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11058:6: ( ( rule__LocateStatement__Group_3_0__0 ) )
        {
        getUnorderedGroupHelper().select(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 0);
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11064:6: ( ( rule__LocateStatement__Group_3_0__0 ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11066:7: ( rule__LocateStatement__Group_3_0__0 )
        {
        if ( backtracking==0 ) {
           before(grammarAccess.getLocateStatementAccess().getGroup_3_0()); 
        }
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11067:7: ( rule__LocateStatement__Group_3_0__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11067:8: rule__LocateStatement__Group_3_0__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_0__0_in_synpred11222322);
        rule__LocateStatement__Group_3_0__0();
        _fsp--;
        if (failed) return ;

        }


        }


        }


        }


        }
    }
    // $ANTLR end synpred112

    // $ANTLR start synpred113
    public final void synpred113_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11073:4: ( ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11073:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) )
        {
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11073:4: ({...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11074:5: {...}? => ( ( ( rule__LocateStatement__Group_3_1__0 ) ) )
        {
        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1) ) {
            if (backtracking>0) {failed=true; return ;}
            throw new FailedPredicateException(input, "synpred113", "getUnorderedGroupHelper().canSelect(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1)");
        }
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11074:112: ( ( ( rule__LocateStatement__Group_3_1__0 ) ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11075:6: ( ( rule__LocateStatement__Group_3_1__0 ) )
        {
        getUnorderedGroupHelper().select(grammarAccess.getLocateStatementAccess().getUnorderedGroup_3(), 1);
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11081:6: ( ( rule__LocateStatement__Group_3_1__0 ) )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11083:7: ( rule__LocateStatement__Group_3_1__0 )
        {
        if ( backtracking==0 ) {
           before(grammarAccess.getLocateStatementAccess().getGroup_3_1()); 
        }
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11084:7: ( rule__LocateStatement__Group_3_1__0 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11084:8: rule__LocateStatement__Group_3_1__0
        {
        pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__Group_3_1__0_in_synpred11322413);
        rule__LocateStatement__Group_3_1__0();
        _fsp--;
        if (failed) return ;

        }


        }


        }


        }


        }
    }
    // $ANTLR end synpred113

    // $ANTLR start synpred114
    public final void synpred114_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11122:2: ( rule__LocateStatement__UnorderedGroup_3__1 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11122:2: rule__LocateStatement__UnorderedGroup_3__1
        {
        pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__1_in_synpred11422566);
        rule__LocateStatement__UnorderedGroup_3__1();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred114

    // $ANTLR start synpred115
    public final void synpred115_fragment() throws RecognitionException {   
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11135:2: ( rule__LocateStatement__UnorderedGroup_3__2 )
        // ../spynx.desl.parser.ui/src-gen/spynx/ui/contentassist/antlr/internal/InternalDesl.g:11135:2: rule__LocateStatement__UnorderedGroup_3__2
        {
        pushFollow(FollowSets000.FOLLOW_rule__LocateStatement__UnorderedGroup_3__2_in_synpred11522594);
        rule__LocateStatement__UnorderedGroup_3__2();
        _fsp--;
        if (failed) return ;

        }
    }
    // $ANTLR end synpred115

    public final boolean synpred96() {
        backtracking++;
        int start = input.mark();
        try {
            synpred96_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred70() {
        backtracking++;
        int start = input.mark();
        try {
            synpred70_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred97() {
        backtracking++;
        int start = input.mark();
        try {
            synpred97_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred80() {
        backtracking++;
        int start = input.mark();
        try {
            synpred80_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred115() {
        backtracking++;
        int start = input.mark();
        try {
            synpred115_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred81() {
        backtracking++;
        int start = input.mark();
        try {
            synpred81_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred94() {
        backtracking++;
        int start = input.mark();
        try {
            synpred94_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred95() {
        backtracking++;
        int start = input.mark();
        try {
            synpred95_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred82() {
        backtracking++;
        int start = input.mark();
        try {
            synpred82_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred113() {
        backtracking++;
        int start = input.mark();
        try {
            synpred113_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred74() {
        backtracking++;
        int start = input.mark();
        try {
            synpred74_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred83() {
        backtracking++;
        int start = input.mark();
        try {
            synpred83_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred114() {
        backtracking++;
        int start = input.mark();
        try {
            synpred114_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred93() {
        backtracking++;
        int start = input.mark();
        try {
            synpred93_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred72() {
        backtracking++;
        int start = input.mark();
        try {
            synpred72_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred90() {
        backtracking++;
        int start = input.mark();
        try {
            synpred90_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred112() {
        backtracking++;
        int start = input.mark();
        try {
            synpred112_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred79() {
        backtracking++;
        int start = input.mark();
        try {
            synpred79_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred89() {
        backtracking++;
        int start = input.mark();
        try {
            synpred89_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }
    public final boolean synpred26() {
        backtracking++;
        int start = input.mark();
        try {
            synpred26_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !failed;
        input.rewind(start);
        backtracking--;
        failed=false;
        return success;
    }


 

    
    private static class FollowSets000 {
        public static final BitSet FOLLOW_ruleProgram_in_entryRuleProgram67 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleProgram74 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__Group__0_in_ruleProgram100 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDeclaration_in_entryRuleDeclaration127 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleDeclaration134 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Declaration__Alternatives_in_ruleDeclaration160 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleProxies_in_entryRuleProxies187 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleProxies194 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Proxies__Alternatives_in_ruleProxies220 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleImportStatement_in_entryRuleImportStatement247 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleImportStatement254 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleInclusionDeclaration_in_ruleImportStatement280 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleInclusionDeclaration_in_entryRuleInclusionDeclaration306 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleInclusionDeclaration313 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__InclusionDeclaration__Group__0_in_ruleInclusionDeclaration339 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternDeclaration_in_entryRulePatternDeclaration366 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRulePatternDeclaration373 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__0_in_rulePatternDeclaration399 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleConstantDeclaration_in_entryRuleConstantDeclaration426 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleConstantDeclaration433 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__0_in_ruleConstantDeclaration459 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement486 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleStatement493 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Alternatives_in_ruleStatement519 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBlockSpecialStatement_in_entryRuleBlockSpecialStatement546 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleBlockSpecialStatement553 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BlockSpecialStatement__Group__0_in_ruleBlockSpecialStatement579 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleReturnStatement_in_entryRuleReturnStatement606 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleReturnStatement613 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ReturnStatement__Group__0_in_ruleReturnStatement639 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEmptyStatement_in_entryRuleEmptyStatement666 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEmptyStatement673 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleCompositeStatement_in_entryRuleCompositeStatement727 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeStatement734 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__0_in_ruleCompositeStatement760 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDeclarationStatement_in_entryRuleDeclarationStatement787 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleDeclarationStatement794 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group__0_in_ruleDeclarationStatement820 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleVarEntry_in_entryRuleVarEntry847 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleVarEntry854 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__Group__0_in_ruleVarEntry880 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLocateStatement_in_entryRuleLocateStatement907 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleLocateStatement914 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__0_in_ruleLocateStatement940 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMatchStatement_in_entryRuleMatchStatement967 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleMatchStatement974 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__0_in_ruleMatchStatement1000 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMatchOption_in_entryRuleMatchOption1027 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleMatchOption1034 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchOption__Group__0_in_ruleMatchOption1060 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleIfStatement_in_entryRuleIfStatement1087 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleIfStatement1094 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__0_in_ruleIfStatement1120 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLoopStatement_in_entryRuleLoopStatement1147 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleLoopStatement1154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LoopStatement__Alternatives_in_ruleLoopStatement1180 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForStatement_in_entryRuleForStatement1207 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleForStatement1214 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__0_in_ruleForStatement1240 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForEachStatement_in_entryRuleForEachStatement1267 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleForEachStatement1274 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__0_in_ruleForEachStatement1300 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleWhileStatement_in_entryRuleWhileStatement1327 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleWhileStatement1334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__0_in_ruleWhileStatement1360 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForInitStatement_in_entryRuleForInitStatement1387 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleForInitStatement1394 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Alternatives_in_ruleForInitStatement1420 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForPostStatement_in_entryRuleForPostStatement1447 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleForPostStatement1454 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Alternatives_in_ruleForPostStatement1480 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAssignStatement_in_entryRuleAssignStatement1507 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleAssignStatement1514 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group__0_in_ruleAssignStatement1540 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_entryRuleArgument1567 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleArgument1574 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Argument__Alternatives_in_ruleArgument1600 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleUnamedArgument_in_entryRuleUnamedArgument1627 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleUnamedArgument1634 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__UnamedArgument__ValueAssignment_in_ruleUnamedArgument1660 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleNamedArgument_in_entryRuleNamedArgument1687 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleNamedArgument1694 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group__0_in_ruleNamedArgument1720 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression1747 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleExpression1754 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Alternatives_in_ruleExpression1780 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSimpleExpression_in_entryRuleSimpleExpression1807 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleSimpleExpression1814 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Alternatives_in_ruleSimpleExpression1840 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArrayExpression_in_entryRuleArrayExpression1867 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleArrayExpression1874 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__0_in_ruleArrayExpression1900 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternExpression_in_entryRulePatternExpression1927 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRulePatternExpression1934 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__Alternatives_in_rulePatternExpression1960 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatementExpression_in_entryRuleStatementExpression1987 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleStatementExpression1994 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__StatementExpression__Group__0_in_ruleStatementExpression2020 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBooleanExpression_in_entryRuleBooleanExpression2047 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanExpression2054 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group__0_in_ruleBooleanExpression2080 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBooleanTerm_in_entryRuleBooleanTerm2107 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanTerm2114 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Alternatives_in_ruleBooleanTerm2140 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAdditionExpression_in_entryRuleAdditionExpression2167 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleAdditionExpression2174 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group__0_in_ruleAdditionExpression2200 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMulExpression_in_entryRuleMulExpression2227 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleMulExpression2234 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group__0_in_ruleMulExpression2260 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm2287 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleTerm2294 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Term__Alternatives_in_ruleTerm2320 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleComplexTerm_in_entryRuleComplexTerm2347 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleComplexTerm2354 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group__0_in_ruleComplexTerm2380 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSimpleTerm_in_entryRuleSimpleTerm2407 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleSimpleTerm2414 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Alternatives_in_ruleSimpleTerm2440 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleVariableTerm_in_entryRuleVariableTerm2467 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleVariableTerm2474 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VariableTerm__OperatorAssignment_in_ruleVariableTerm2500 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLiteralExpression_in_entryRuleLiteralExpression2527 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleLiteralExpression2534 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LiteralExpression__Alternatives_in_ruleLiteralExpression2560 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternMatchInfoProxy_in_entryRulePatternMatchInfoProxy2587 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRulePatternMatchInfoProxy2594 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__0_in_rulePatternMatchInfoProxy2620 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLocatorProxy_in_entryRuleLocatorProxy2647 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleLocatorProxy2654 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__0_in_ruleLocatorProxy2680 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTypeProxy_in_entryRuleTypeProxy2707 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleTypeProxy2714 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__0_in_ruleTypeProxy2740 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleProxyArgument_in_entryRuleProxyArgument2767 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleProxyArgument2774 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__0_in_ruleProxyArgument2800 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedID_in_entryRuleQualifiedID2827 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedID2834 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group__0_in_ruleQualifiedID2860 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDotQualifiedID_in_entryRuleDotQualifiedID2887 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleDotQualifiedID2894 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group__0_in_ruleDotQualifiedID2920 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBOOLEAN_CONSTANTS_in_entryRuleBOOLEAN_CONSTANTS2947 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleBOOLEAN_CONSTANTS2954 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BOOLEAN_CONSTANTS__Alternatives_in_ruleBOOLEAN_CONSTANTS2980 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePOSITION_CONSTANTS_in_entryRulePOSITION_CONSTANTS3007 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRulePOSITION_CONSTANTS3014 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__POSITION_CONSTANTS__Alternatives_in_rulePOSITION_CONSTANTS3040 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternDeclaration_in_rule__Declaration__Alternatives3076 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleProxies_in_rule__Declaration__Alternatives3093 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleConstantDeclaration_in_rule__Declaration__Alternatives3110 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternMatchInfoProxy_in_rule__Proxies__Alternatives3142 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLocatorProxy_in_rule__Proxies__Alternatives3159 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTypeProxy_in_rule__Proxies__Alternatives3176 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleCompositeStatement_in_rule__Statement__Alternatives3208 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_1__0_in_rule__Statement__Alternatives3225 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_2__0_in_rule__Statement__Alternatives3243 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleIfStatement_in_rule__Statement__Alternatives3261 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_4__0_in_rule__Statement__Alternatives3278 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLoopStatement_in_rule__Statement__Alternatives3296 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_6__0_in_rule__Statement__Alternatives3313 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_12_in_rule__BlockSpecialStatement__NameAlternatives_1_03347 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_13_in_rule__BlockSpecialStatement__NameAlternatives_1_03367 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__CompositeStatement__ChildrenAlternatives_2_03401 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleReturnStatement_in_rule__CompositeStatement__ChildrenAlternatives_2_03418 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBlockSpecialStatement_in_rule__CompositeStatement__ChildrenAlternatives_2_03435 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_14_in_rule__MatchOption__NameAlternatives_0_03468 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__MatchOption__NameAlternatives_0_03488 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_16_in_rule__MatchOption__NameAlternatives_0_03508 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__MatchOption__NameAlternatives_0_03528 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__MatchOption__NameAlternatives_0_03548 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_19_in_rule__MatchOption__NameAlternatives_0_03568 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__MatchOption__NameAlternatives_0_03588 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForStatement_in_rule__LoopStatement__Alternatives3622 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForEachStatement_in_rule__LoopStatement__Alternatives3639 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleWhileStatement_in_rule__LoopStatement__Alternatives3656 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0__0_in_rule__ForInitStatement__Alternatives3688 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__ChildrenAssignment_1_in_rule__ForInitStatement__Alternatives3706 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDeclarationStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_0_03739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAssignStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_0_03756 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDeclarationStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_1_1_03788 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAssignStatement_in_rule__ForInitStatement__ChildrenAlternatives_0_1_1_03805 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0__0_in_rule__ForPostStatement__Alternatives3837 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__ChildrenAssignment_1_in_rule__ForPostStatement__Alternatives3855 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleNamedArgument_in_rule__Argument__Alternatives3888 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleUnamedArgument_in_rule__Argument__Alternatives3905 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__ValueAssignment_2_0_in_rule__NamedArgument__Alternatives_23937 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__0_in_rule__NamedArgument__Alternatives_23955 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0__0_in_rule__Expression__Alternatives3988 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArrayExpression_in_rule__Expression__Alternatives4006 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatementExpression_in_rule__Expression__Alternatives4023 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0__0_in_rule__SimpleExpression__Alternatives4055 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMatchStatement_in_rule__SimpleExpression__Alternatives4073 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__ChildrenAssignment_0_in_rule__PatternExpression__Alternatives4105 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__RefsAssignment_1_in_rule__PatternExpression__Alternatives4123 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__0_in_rule__PatternExpression__Alternatives4141 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_21_in_rule__BooleanExpression__OperatorAlternatives_1_1_04175 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_22_in_rule__BooleanExpression__OperatorAlternatives_1_1_04195 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0__0_in_rule__BooleanTerm__Alternatives4229 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_1__0_in_rule__BooleanTerm__Alternatives4247 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_23_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04281 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_24_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04301 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_25_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04321 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04341 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04361 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__BooleanTerm__OperatorAlternatives_0_1_1_04381 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_29_in_rule__AdditionExpression__OperatorAlternatives_1_1_04416 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_30_in_rule__AdditionExpression__OperatorAlternatives_1_1_04436 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_31_in_rule__MulExpression__OperatorAlternatives_1_1_04471 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_32_in_rule__MulExpression__OperatorAlternatives_1_1_04491 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__MulExpression__OperatorAlternatives_1_1_04511 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_34_in_rule__MulExpression__OperatorAlternatives_1_1_04531 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_35_in_rule__MulExpression__OperatorAlternatives_1_1_04551 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Term__Group_0__0_in_rule__Term__Alternatives4585 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleComplexTerm_in_rule__Term__Alternatives4603 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_0__0_in_rule__ComplexTerm__Alternatives_14635 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__0_in_rule__ComplexTerm__Alternatives_14653 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__0_in_rule__ComplexTerm__Alternatives_14671 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLiteralExpression_in_rule__SimpleTerm__Alternatives4704 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_1__0_in_rule__SimpleTerm__Alternatives4721 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleVariableTerm_in_rule__SimpleTerm__Alternatives4739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_3__0_in_rule__SimpleTerm__Alternatives4756 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__0_in_rule__SimpleTerm__Alternatives4774 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_5__0_in_rule__SimpleTerm__Alternatives4792 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_6__0_in_rule__SimpleTerm__Alternatives4810 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_7__0_in_rule__SimpleTerm__Alternatives4828 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_8__0_in_rule__SimpleTerm__Alternatives4846 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__OperatorAssignment_9_in_rule__SimpleTerm__Alternatives4864 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_36_in_rule__SimpleTerm__OperatorAlternatives_5_0_04898 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_37_in_rule__SimpleTerm__OperatorAlternatives_5_0_04918 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__VariableTerm__OperatorAlternatives_04952 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_38_in_rule__VariableTerm__OperatorAlternatives_04970 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_39_in_rule__VariableTerm__OperatorAlternatives_04990 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_40_in_rule__VariableTerm__OperatorAlternatives_05010 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_41_in_rule__VariableTerm__OperatorAlternatives_05030 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LiteralExpression__ValueAssignment_0_in_rule__LiteralExpression__Alternatives5064 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LiteralExpression__ValueAssignment_1_in_rule__LiteralExpression__Alternatives5082 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LiteralExpression__ValueAssignment_2_in_rule__LiteralExpression__Alternatives5100 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_42_in_rule__BOOLEAN_CONSTANTS__Alternatives5134 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_43_in_rule__BOOLEAN_CONSTANTS__Alternatives5154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_39_in_rule__POSITION_CONSTANTS__Alternatives5189 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_40_in_rule__POSITION_CONSTANTS__Alternatives5209 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__Group__0__Impl_in_rule__Program__Group__05241 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__Program__Group__1_in_rule__Program__Group__05244 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_44_in_rule__Program__Group__0__Impl5272 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__Group__1__Impl_in_rule__Program__Group__15303 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__Program__Group__2_in_rule__Program__Group__15306 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__NameAssignment_1_in_rule__Program__Group__1__Impl5333 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__Group__2__Impl_in_rule__Program__Group__25363 = new BitSet(new long[]{0x0010C00000000002L,0x0000000000000640L});
        public static final BitSet FOLLOW_rule__Program__Group__3_in_rule__Program__Group__25366 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__Program__Group__2__Impl5394 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__Group__3__Impl_in_rule__Program__Group__35425 = new BitSet(new long[]{0x0010800000000002L,0x0000000000000640L});
        public static final BitSet FOLLOW_rule__Program__Group__4_in_rule__Program__Group__35428 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__Group_3__0_in_rule__Program__Group__3__Impl5455 = new BitSet(new long[]{0x0000400000000002L});
        public static final BitSet FOLLOW_rule__Program__Group__4__Impl_in_rule__Program__Group__45486 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__ChildrenAssignment_4_in_rule__Program__Group__4__Impl5513 = new BitSet(new long[]{0x0010800000000002L,0x0000000000000640L});
        public static final BitSet FOLLOW_rule__Program__Group_3__0__Impl_in_rule__Program__Group_3__05554 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__Program__Group_3__1_in_rule__Program__Group_3__05557 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__ChildrenAssignment_3_0_in_rule__Program__Group_3__0__Impl5584 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Program__Group_3__1__Impl_in_rule__Program__Group_3__15614 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__Program__Group_3__1__Impl5642 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__InclusionDeclaration__Group__0__Impl_in_rule__InclusionDeclaration__Group__05677 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__InclusionDeclaration__Group__1_in_rule__InclusionDeclaration__Group__05680 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_46_in_rule__InclusionDeclaration__Group__0__Impl5708 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__InclusionDeclaration__Group__1__Impl_in_rule__InclusionDeclaration__Group__15739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__InclusionDeclaration__ImportURIAssignment_1_in_rule__InclusionDeclaration__Group__1__Impl5766 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__0__Impl_in_rule__PatternDeclaration__Group__05800 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__1_in_rule__PatternDeclaration__Group__05803 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_47_in_rule__PatternDeclaration__Group__0__Impl5831 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__1__Impl_in_rule__PatternDeclaration__Group__15862 = new BitSet(new long[]{0x0005000000000000L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__2_in_rule__PatternDeclaration__Group__15865 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__NameAssignment_1_in_rule__PatternDeclaration__Group__1__Impl5892 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__2__Impl_in_rule__PatternDeclaration__Group__25922 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__3_in_rule__PatternDeclaration__Group__25925 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_2__0_in_rule__PatternDeclaration__Group__2__Impl5952 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__3__Impl_in_rule__PatternDeclaration__Group__35983 = new BitSet(new long[]{0x20430FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__4_in_rule__PatternDeclaration__Group__35986 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__PatternDeclaration__Group__3__Impl6014 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__4__Impl_in_rule__PatternDeclaration__Group__46045 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__5_in_rule__PatternDeclaration__Group__46048 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4__0_in_rule__PatternDeclaration__Group__4__Impl6075 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__5__Impl_in_rule__PatternDeclaration__Group__56106 = new BitSet(new long[]{0x0040000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__6_in_rule__PatternDeclaration__Group__56109 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__PatternDeclaration__Group__5__Impl6137 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group__6__Impl_in_rule__PatternDeclaration__Group__66168 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__ChildrenAssignment_6_in_rule__PatternDeclaration__Group__6__Impl6195 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_2__0__Impl_in_rule__PatternDeclaration__Group_2__06240 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_2__1_in_rule__PatternDeclaration__Group_2__06243 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_50_in_rule__PatternDeclaration__Group_2__0__Impl6271 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_2__1__Impl_in_rule__PatternDeclaration__Group_2__16302 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__ReturnTypeAssignment_2_1_in_rule__PatternDeclaration__Group_2__1__Impl6329 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4__0__Impl_in_rule__PatternDeclaration__Group_4__06363 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4__1_in_rule__PatternDeclaration__Group_4__06366 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__ArgumentsAssignment_4_0_in_rule__PatternDeclaration__Group_4__0__Impl6393 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4__1__Impl_in_rule__PatternDeclaration__Group_4__16423 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4_1__0_in_rule__PatternDeclaration__Group_4__1__Impl6450 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4_1__0__Impl_in_rule__PatternDeclaration__Group_4_1__06485 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4_1__1_in_rule__PatternDeclaration__Group_4_1__06488 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__PatternDeclaration__Group_4_1__0__Impl6516 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__Group_4_1__1__Impl_in_rule__PatternDeclaration__Group_4_1__16547 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__ArgumentsAssignment_4_1_1_in_rule__PatternDeclaration__Group_4_1__1__Impl6574 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__0__Impl_in_rule__ConstantDeclaration__Group__06608 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__1_in_rule__ConstantDeclaration__Group__06611 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_52_in_rule__ConstantDeclaration__Group__0__Impl6639 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__1__Impl_in_rule__ConstantDeclaration__Group__16670 = new BitSet(new long[]{0x0020000000000000L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__2_in_rule__ConstantDeclaration__Group__16673 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__NameAssignment_1_in_rule__ConstantDeclaration__Group__1__Impl6700 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__2__Impl_in_rule__ConstantDeclaration__Group__26730 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__3_in_rule__ConstantDeclaration__Group__26733 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__ConstantDeclaration__Group__2__Impl6761 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__3__Impl_in_rule__ConstantDeclaration__Group__36792 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__4_in_rule__ConstantDeclaration__Group__36795 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__ValueAssignment_3_in_rule__ConstantDeclaration__Group__3__Impl6822 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConstantDeclaration__Group__4__Impl_in_rule__ConstantDeclaration__Group__46852 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__ConstantDeclaration__Group__4__Impl6880 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_1__0__Impl_in_rule__Statement__Group_1__06921 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__Statement__Group_1__1_in_rule__Statement__Group_1__06924 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDeclarationStatement_in_rule__Statement__Group_1__0__Impl6951 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_1__1__Impl_in_rule__Statement__Group_1__16980 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__Statement__Group_1__1__Impl7008 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_2__0__Impl_in_rule__Statement__Group_2__07043 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__Statement__Group_2__1_in_rule__Statement__Group_2__07046 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLocateStatement_in_rule__Statement__Group_2__0__Impl7073 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_2__1__Impl_in_rule__Statement__Group_2__17102 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__Statement__Group_2__1__Impl7130 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_4__0__Impl_in_rule__Statement__Group_4__07165 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__Statement__Group_4__1_in_rule__Statement__Group_4__07168 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSimpleExpression_in_rule__Statement__Group_4__0__Impl7195 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_4__1__Impl_in_rule__Statement__Group_4__17224 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__Statement__Group_4__1__Impl7252 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_6__0__Impl_in_rule__Statement__Group_6__07287 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__Statement__Group_6__1_in_rule__Statement__Group_6__07290 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEmptyStatement_in_rule__Statement__Group_6__0__Impl7317 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Statement__Group_6__1__Impl_in_rule__Statement__Group_6__17346 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__Statement__Group_6__1__Impl7374 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BlockSpecialStatement__Group__0__Impl_in_rule__BlockSpecialStatement__Group__07409 = new BitSet(new long[]{0x0000000000003000L});
        public static final BitSet FOLLOW_rule__BlockSpecialStatement__Group__1_in_rule__BlockSpecialStatement__Group__07412 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BlockSpecialStatement__Group__1__Impl_in_rule__BlockSpecialStatement__Group__17470 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BlockSpecialStatement__NameAssignment_1_in_rule__BlockSpecialStatement__Group__1__Impl7497 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ReturnStatement__Group__0__Impl_in_rule__ReturnStatement__Group__07531 = new BitSet(new long[]{0x20410FF0000000F2L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ReturnStatement__Group__1_in_rule__ReturnStatement__Group__07534 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ReturnStatement__NameAssignment_0_in_rule__ReturnStatement__Group__0__Impl7561 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ReturnStatement__Group__1__Impl_in_rule__ReturnStatement__Group__17591 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ReturnStatement__ChildrenAssignment_1_in_rule__ReturnStatement__Group__1__Impl7618 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__0__Impl_in_rule__CompositeStatement__Group__07653 = new BitSet(new long[]{0x0040000000000000L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__1_in_rule__CompositeStatement__Group__07656 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__1__Impl_in_rule__CompositeStatement__Group__17714 = new BitSet(new long[]{0xA7C12FF0000030F0L,0x0000000001F5E020L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__2_in_rule__CompositeStatement__Group__17717 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_54_in_rule__CompositeStatement__Group__1__Impl7745 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__2__Impl_in_rule__CompositeStatement__Group__27776 = new BitSet(new long[]{0x0080000000000000L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__3_in_rule__CompositeStatement__Group__27779 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__CompositeStatement__ChildrenAssignment_2_in_rule__CompositeStatement__Group__2__Impl7806 = new BitSet(new long[]{0xA7412FF0000030F2L,0x0000000001F5E020L});
        public static final BitSet FOLLOW_rule__CompositeStatement__Group__3__Impl_in_rule__CompositeStatement__Group__37837 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_55_in_rule__CompositeStatement__Group__3__Impl7865 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group__0__Impl_in_rule__DeclarationStatement__Group__07904 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group__1_in_rule__DeclarationStatement__Group__07907 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_56_in_rule__DeclarationStatement__Group__0__Impl7935 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group__1__Impl_in_rule__DeclarationStatement__Group__17966 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group__2_in_rule__DeclarationStatement__Group__17969 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__ChildrenAssignment_1_in_rule__DeclarationStatement__Group__1__Impl7996 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group__2__Impl_in_rule__DeclarationStatement__Group__28026 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group_2__0_in_rule__DeclarationStatement__Group__2__Impl8053 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group_2__0__Impl_in_rule__DeclarationStatement__Group_2__08090 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group_2__1_in_rule__DeclarationStatement__Group_2__08093 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__DeclarationStatement__Group_2__0__Impl8121 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group_2__1__Impl_in_rule__DeclarationStatement__Group_2__18152 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__ChildrenAssignment_2_1_in_rule__DeclarationStatement__Group_2__1__Impl8179 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__Group__0__Impl_in_rule__VarEntry__Group__08213 = new BitSet(new long[]{0x0020000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__Group__1_in_rule__VarEntry__Group__08216 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__NameAssignment_0_in_rule__VarEntry__Group__0__Impl8243 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__Group__1__Impl_in_rule__VarEntry__Group__18273 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__Group_1__0_in_rule__VarEntry__Group__1__Impl8300 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__Group_1__0__Impl_in_rule__VarEntry__Group_1__08335 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__VarEntry__Group_1__1_in_rule__VarEntry__Group_1__08338 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__VarEntry__Group_1__0__Impl8366 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__Group_1__1__Impl_in_rule__VarEntry__Group_1__18397 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VarEntry__ChildrenAssignment_1_1_in_rule__VarEntry__Group_1__1__Impl8424 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__0__Impl_in_rule__LocateStatement__Group__08458 = new BitSet(new long[]{0x0200000000000000L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__1_in_rule__LocateStatement__Group__08461 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__OptionalAssignment_0_in_rule__LocateStatement__Group__0__Impl8488 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__1__Impl_in_rule__LocateStatement__Group__18519 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__2_in_rule__LocateStatement__Group__18522 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_57_in_rule__LocateStatement__Group__1__Impl8550 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__2__Impl_in_rule__LocateStatement__Group__28581 = new BitSet(new long[]{0x1C00000000000000L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__3_in_rule__LocateStatement__Group__28584 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__ChildrenAssignment_2_in_rule__LocateStatement__Group__2__Impl8611 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group__3__Impl_in_rule__LocateStatement__Group__38641 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3_in_rule__LocateStatement__Group__3__Impl8668 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_0__0__Impl_in_rule__LocateStatement__Group_3_0__08706 = new BitSet(new long[]{0x0000018000000000L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_0__1_in_rule__LocateStatement__Group_3_0__08709 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_58_in_rule__LocateStatement__Group_3_0__0__Impl8737 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_0__1__Impl_in_rule__LocateStatement__Group_3_0__18768 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__PositionAssignment_3_0_1_in_rule__LocateStatement__Group_3_0__1__Impl8795 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_1__0__Impl_in_rule__LocateStatement__Group_3_1__08829 = new BitSet(new long[]{0x0020000000000000L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_1__1_in_rule__LocateStatement__Group_3_1__08832 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_59_in_rule__LocateStatement__Group_3_1__0__Impl8860 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_1__1__Impl_in_rule__LocateStatement__Group_3_1__18891 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_1__2_in_rule__LocateStatement__Group_3_1__18894 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__LocateStatement__Group_3_1__1__Impl8922 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_1__2__Impl_in_rule__LocateStatement__Group_3_1__28953 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__FlagAssignment_3_1_2_in_rule__LocateStatement__Group_3_1__2__Impl8980 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__0__Impl_in_rule__LocateStatement__Group_3_2__09016 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__1_in_rule__LocateStatement__Group_3_2__09019 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_60_in_rule__LocateStatement__Group_3_2__0__Impl9047 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__1__Impl_in_rule__LocateStatement__Group_3_2__19078 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__2_in_rule__LocateStatement__Group_3_2__19081 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__LocatorAssignment_3_2_1_in_rule__LocateStatement__Group_3_2__1__Impl9108 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__2__Impl_in_rule__LocateStatement__Group_3_2__29138 = new BitSet(new long[]{0x20430FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__3_in_rule__LocateStatement__Group_3_2__29141 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__LocateStatement__Group_3_2__2__Impl9169 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__3__Impl_in_rule__LocateStatement__Group_3_2__39200 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__4_in_rule__LocateStatement__Group_3_2__39203 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3__0_in_rule__LocateStatement__Group_3_2__3__Impl9230 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__4__Impl_in_rule__LocateStatement__Group_3_2__49261 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__LocateStatement__Group_3_2__4__Impl9289 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3__0__Impl_in_rule__LocateStatement__Group_3_2_3__09330 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3__1_in_rule__LocateStatement__Group_3_2_3__09333 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__ChildrenAssignment_3_2_3_0_in_rule__LocateStatement__Group_3_2_3__0__Impl9360 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3__1__Impl_in_rule__LocateStatement__Group_3_2_3__19390 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3_1__0_in_rule__LocateStatement__Group_3_2_3__1__Impl9417 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3_1__0__Impl_in_rule__LocateStatement__Group_3_2_3_1__09452 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3_1__1_in_rule__LocateStatement__Group_3_2_3_1__09455 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__LocateStatement__Group_3_2_3_1__0__Impl9483 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2_3_1__1__Impl_in_rule__LocateStatement__Group_3_2_3_1__19514 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__ChildrenAssignment_3_2_3_1_1_in_rule__LocateStatement__Group_3_2_3_1__1__Impl9541 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__0__Impl_in_rule__MatchStatement__Group__09575 = new BitSet(new long[]{0x0000801000000010L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__1_in_rule__MatchStatement__Group__09578 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_61_in_rule__MatchStatement__Group__0__Impl9606 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__1__Impl_in_rule__MatchStatement__Group__19637 = new BitSet(new long[]{0x4000020000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__2_in_rule__MatchStatement__Group__19640 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__PatternAssignment_1_in_rule__MatchStatement__Group__1__Impl9667 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__2__Impl_in_rule__MatchStatement__Group__29697 = new BitSet(new long[]{0x4000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__3_in_rule__MatchStatement__Group__29700 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2__0_in_rule__MatchStatement__Group__2__Impl9727 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group__3__Impl_in_rule__MatchStatement__Group__39758 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3__0_in_rule__MatchStatement__Group__3__Impl9785 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2__0__Impl_in_rule__MatchStatement__Group_2__09824 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2__1_in_rule__MatchStatement__Group_2__09827 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_41_in_rule__MatchStatement__Group_2__0__Impl9855 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2__1__Impl_in_rule__MatchStatement__Group_2__19886 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2__2_in_rule__MatchStatement__Group_2__19889 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__ChildrenAssignment_2_1_in_rule__MatchStatement__Group_2__1__Impl9916 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2__2__Impl_in_rule__MatchStatement__Group_2__29946 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2_2__0_in_rule__MatchStatement__Group_2__2__Impl9973 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2_2__0__Impl_in_rule__MatchStatement__Group_2_2__010010 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2_2__1_in_rule__MatchStatement__Group_2_2__010013 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__MatchStatement__Group_2_2__0__Impl10041 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2_2__1__Impl_in_rule__MatchStatement__Group_2_2__110072 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__ChildrenAssignment_2_2_1_in_rule__MatchStatement__Group_2_2__1__Impl10099 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3__0__Impl_in_rule__MatchStatement__Group_3__010133 = new BitSet(new long[]{0x00000000001FC000L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3__1_in_rule__MatchStatement__Group_3__010136 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_62_in_rule__MatchStatement__Group_3__0__Impl10164 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3__1__Impl_in_rule__MatchStatement__Group_3__110195 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3__2_in_rule__MatchStatement__Group_3__110198 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__ChildrenAssignment_3_1_in_rule__MatchStatement__Group_3__1__Impl10225 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3__2__Impl_in_rule__MatchStatement__Group_3__210255 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3_2__0_in_rule__MatchStatement__Group_3__2__Impl10282 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3_2__0__Impl_in_rule__MatchStatement__Group_3_2__010319 = new BitSet(new long[]{0x00000000001FC000L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3_2__1_in_rule__MatchStatement__Group_3_2__010322 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__MatchStatement__Group_3_2__0__Impl10350 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3_2__1__Impl_in_rule__MatchStatement__Group_3_2__110381 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__ChildrenAssignment_3_2_1_in_rule__MatchStatement__Group_3_2__1__Impl10408 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchOption__Group__0__Impl_in_rule__MatchOption__Group__010442 = new BitSet(new long[]{0x0020000000000000L});
        public static final BitSet FOLLOW_rule__MatchOption__Group__1_in_rule__MatchOption__Group__010445 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchOption__NameAssignment_0_in_rule__MatchOption__Group__0__Impl10472 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchOption__Group__1__Impl_in_rule__MatchOption__Group__110502 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__MatchOption__Group__2_in_rule__MatchOption__Group__110505 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__MatchOption__Group__1__Impl10533 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchOption__Group__2__Impl_in_rule__MatchOption__Group__210564 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchOption__ValueAssignment_2_in_rule__MatchOption__Group__2__Impl10591 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__0__Impl_in_rule__IfStatement__Group__010627 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__1_in_rule__IfStatement__Group__010630 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_63_in_rule__IfStatement__Group__0__Impl10658 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__1__Impl_in_rule__IfStatement__Group__110689 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__2_in_rule__IfStatement__Group__110692 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__IfStatement__Group__1__Impl10720 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__2__Impl_in_rule__IfStatement__Group__210751 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__3_in_rule__IfStatement__Group__210754 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__ConditionAssignment_2_in_rule__IfStatement__Group__2__Impl10781 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__3__Impl_in_rule__IfStatement__Group__310811 = new BitSet(new long[]{0xA7412FF0000000F0L,0x0000000001F5C020L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__4_in_rule__IfStatement__Group__310814 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__IfStatement__Group__3__Impl10842 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__4__Impl_in_rule__IfStatement__Group__410873 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__5_in_rule__IfStatement__Group__410876 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__TrueStatementAssignment_4_in_rule__IfStatement__Group__4__Impl10903 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group__5__Impl_in_rule__IfStatement__Group__510933 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group_5__0_in_rule__IfStatement__Group__5__Impl10960 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group_5__0__Impl_in_rule__IfStatement__Group_5__011003 = new BitSet(new long[]{0xA7412FF0000000F0L,0x0000000001F5C020L});
        public static final BitSet FOLLOW_rule__IfStatement__Group_5__1_in_rule__IfStatement__Group_5__011006 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_64_in_rule__IfStatement__Group_5__0__Impl11034 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group_5__1__Impl_in_rule__IfStatement__Group_5__111065 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__FalseStatementAssignment_5_1_in_rule__IfStatement__Group_5__1__Impl11092 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__0__Impl_in_rule__ForStatement__Group__011126 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__1_in_rule__ForStatement__Group__011129 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__LoopTypeAssignment_0_in_rule__ForStatement__Group__0__Impl11156 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__1__Impl_in_rule__ForStatement__Group__111186 = new BitSet(new long[]{0x01012FF0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__2_in_rule__ForStatement__Group__111189 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__ForStatement__Group__1__Impl11217 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__2__Impl_in_rule__ForStatement__Group__211248 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__3_in_rule__ForStatement__Group__211251 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__InitStatementAssignment_2_in_rule__ForStatement__Group__2__Impl11278 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__3__Impl_in_rule__ForStatement__Group__311308 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__4_in_rule__ForStatement__Group__311311 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__ForStatement__Group__3__Impl11339 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__4__Impl_in_rule__ForStatement__Group__411370 = new BitSet(new long[]{0x0000200000000000L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__5_in_rule__ForStatement__Group__411373 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__ConditionAssignment_4_in_rule__ForStatement__Group__4__Impl11400 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__5__Impl_in_rule__ForStatement__Group__511430 = new BitSet(new long[]{0x00030FF0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__6_in_rule__ForStatement__Group__511433 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_45_in_rule__ForStatement__Group__5__Impl11461 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__6__Impl_in_rule__ForStatement__Group__611492 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__7_in_rule__ForStatement__Group__611495 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__PostStatementAssignment_6_in_rule__ForStatement__Group__6__Impl11522 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__7__Impl_in_rule__ForStatement__Group__711552 = new BitSet(new long[]{0xA7412FF0000000F0L,0x0000000001F5C020L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__8_in_rule__ForStatement__Group__711555 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__ForStatement__Group__7__Impl11583 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__Group__8__Impl_in_rule__ForStatement__Group__811614 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForStatement__BodyStatementAssignment_8_in_rule__ForStatement__Group__8__Impl11641 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__0__Impl_in_rule__ForEachStatement__Group__011689 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__1_in_rule__ForEachStatement__Group__011692 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__LoopTypeAssignment_0_in_rule__ForEachStatement__Group__0__Impl11719 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__1__Impl_in_rule__ForEachStatement__Group__111749 = new BitSet(new long[]{0x0100000000000000L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__2_in_rule__ForEachStatement__Group__111752 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__ForEachStatement__Group__1__Impl11780 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__2__Impl_in_rule__ForEachStatement__Group__211811 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__3_in_rule__ForEachStatement__Group__211814 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_56_in_rule__ForEachStatement__Group__2__Impl11842 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__3__Impl_in_rule__ForEachStatement__Group__311873 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__4_in_rule__ForEachStatement__Group__311876 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__ControlVarAssignment_3_in_rule__ForEachStatement__Group__3__Impl11903 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__4__Impl_in_rule__ForEachStatement__Group__411933 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__5_in_rule__ForEachStatement__Group__411936 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_65_in_rule__ForEachStatement__Group__4__Impl11964 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__5__Impl_in_rule__ForEachStatement__Group__511995 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__6_in_rule__ForEachStatement__Group__511998 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__ConditionAssignment_5_in_rule__ForEachStatement__Group__5__Impl12025 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__6__Impl_in_rule__ForEachStatement__Group__612055 = new BitSet(new long[]{0xA7412FF0000000F0L,0x0000000001F5C020L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__7_in_rule__ForEachStatement__Group__612058 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__ForEachStatement__Group__6__Impl12086 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__Group__7__Impl_in_rule__ForEachStatement__Group__712117 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForEachStatement__BodyStatementAssignment_7_in_rule__ForEachStatement__Group__7__Impl12144 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__0__Impl_in_rule__WhileStatement__Group__012190 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__1_in_rule__WhileStatement__Group__012193 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__LoopTypeAssignment_0_in_rule__WhileStatement__Group__0__Impl12220 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__1__Impl_in_rule__WhileStatement__Group__112250 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__2_in_rule__WhileStatement__Group__112253 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__WhileStatement__Group__1__Impl12281 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__2__Impl_in_rule__WhileStatement__Group__212312 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__3_in_rule__WhileStatement__Group__212315 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__ConditionAssignment_2_in_rule__WhileStatement__Group__2__Impl12342 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__3__Impl_in_rule__WhileStatement__Group__312372 = new BitSet(new long[]{0xA7412FF0000000F0L,0x0000000001F5C020L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__4_in_rule__WhileStatement__Group__312375 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__WhileStatement__Group__3__Impl12403 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__Group__4__Impl_in_rule__WhileStatement__Group__412434 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__WhileStatement__BodyStatementAssignment_4_in_rule__WhileStatement__Group__4__Impl12461 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0__0__Impl_in_rule__ForInitStatement__Group_0__012501 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0__1_in_rule__ForInitStatement__Group_0__012504 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__ChildrenAssignment_0_0_in_rule__ForInitStatement__Group_0__0__Impl12531 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0__1__Impl_in_rule__ForInitStatement__Group_0__112561 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0_1__0_in_rule__ForInitStatement__Group_0__1__Impl12588 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0_1__0__Impl_in_rule__ForInitStatement__Group_0_1__012623 = new BitSet(new long[]{0x01010FF0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0_1__1_in_rule__ForInitStatement__Group_0_1__012626 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__ForInitStatement__Group_0_1__0__Impl12654 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__Group_0_1__1__Impl_in_rule__ForInitStatement__Group_0_1__112685 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__ChildrenAssignment_0_1_1_in_rule__ForInitStatement__Group_0_1__1__Impl12712 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0__0__Impl_in_rule__ForPostStatement__Group_0__012746 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0__1_in_rule__ForPostStatement__Group_0__012749 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__ChildrenAssignment_0_0_in_rule__ForPostStatement__Group_0__0__Impl12776 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0__1__Impl_in_rule__ForPostStatement__Group_0__112806 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0_1__0_in_rule__ForPostStatement__Group_0__1__Impl12833 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0_1__0__Impl_in_rule__ForPostStatement__Group_0_1__012868 = new BitSet(new long[]{0x00010FF0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0_1__1_in_rule__ForPostStatement__Group_0_1__012871 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__ForPostStatement__Group_0_1__0__Impl12899 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__Group_0_1__1__Impl_in_rule__ForPostStatement__Group_0_1__112930 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForPostStatement__ChildrenAssignment_0_1_1_in_rule__ForPostStatement__Group_0_1__1__Impl12957 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group__0__Impl_in_rule__AssignStatement__Group__012991 = new BitSet(new long[]{0x0020000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group__1_in_rule__AssignStatement__Group__012994 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBooleanExpression_in_rule__AssignStatement__Group__0__Impl13021 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group__1__Impl_in_rule__AssignStatement__Group__113050 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group_1__0_in_rule__AssignStatement__Group__1__Impl13077 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group_1__0__Impl_in_rule__AssignStatement__Group_1__013112 = new BitSet(new long[]{0x0020000000000000L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group_1__1_in_rule__AssignStatement__Group_1__013115 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group_1__1__Impl_in_rule__AssignStatement__Group_1__113173 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group_1__2_in_rule__AssignStatement__Group_1__113176 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__OperatorAssignment_1_1_in_rule__AssignStatement__Group_1__1__Impl13203 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__Group_1__2__Impl_in_rule__AssignStatement__Group_1__213233 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AssignStatement__ChildrenAssignment_1_2_in_rule__AssignStatement__Group_1__2__Impl13260 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group__0__Impl_in_rule__NamedArgument__Group__013296 = new BitSet(new long[]{0x0020000000000000L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group__1_in_rule__NamedArgument__Group__013299 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__NameAssignment_0_in_rule__NamedArgument__Group__0__Impl13326 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group__1__Impl_in_rule__NamedArgument__Group__113356 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F4002CL});
        public static final BitSet FOLLOW_rule__NamedArgument__Group__2_in_rule__NamedArgument__Group__113359 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__NamedArgument__Group__1__Impl13387 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group__2__Impl_in_rule__NamedArgument__Group__213418 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Alternatives_2_in_rule__NamedArgument__Group__2__Impl13445 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__0__Impl_in_rule__NamedArgument__Group_2_1__013481 = new BitSet(new long[]{0x0040000000000000L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__1_in_rule__NamedArgument__Group_2_1__013484 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_66_in_rule__NamedArgument__Group_2_1__0__Impl13512 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__1__Impl_in_rule__NamedArgument__Group_2_1__113543 = new BitSet(new long[]{0x20C10FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__2_in_rule__NamedArgument__Group_2_1__113546 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_54_in_rule__NamedArgument__Group_2_1__1__Impl13574 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__2__Impl_in_rule__NamedArgument__Group_2_1__213605 = new BitSet(new long[]{0x0080000000000000L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__3_in_rule__NamedArgument__Group_2_1__213608 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2__0_in_rule__NamedArgument__Group_2_1__2__Impl13635 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1__3__Impl_in_rule__NamedArgument__Group_2_1__313666 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_55_in_rule__NamedArgument__Group_2_1__3__Impl13694 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2__0__Impl_in_rule__NamedArgument__Group_2_1_2__013733 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2__1_in_rule__NamedArgument__Group_2_1_2__013736 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__ChildrenAssignment_2_1_2_0_in_rule__NamedArgument__Group_2_1_2__0__Impl13763 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2__1__Impl_in_rule__NamedArgument__Group_2_1_2__113793 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2_1__0_in_rule__NamedArgument__Group_2_1_2__1__Impl13820 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2_1__0__Impl_in_rule__NamedArgument__Group_2_1_2_1__013855 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2_1__1_in_rule__NamedArgument__Group_2_1_2_1__013858 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__NamedArgument__Group_2_1_2_1__0__Impl13886 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__Group_2_1_2_1__1__Impl_in_rule__NamedArgument__Group_2_1_2_1__113917 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedArgument__ChildrenAssignment_2_1_2_1_1_in_rule__NamedArgument__Group_2_1_2_1__1__Impl13944 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0__0__Impl_in_rule__Expression__Group_0__013978 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Expression__Group_0__1_in_rule__Expression__Group_0__013981 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSimpleExpression_in_rule__Expression__Group_0__0__Impl14008 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0__1__Impl_in_rule__Expression__Group_0__114037 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__0_in_rule__Expression__Group_0__1__Impl14064 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__0__Impl_in_rule__Expression__Group_0_1__014099 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__1_in_rule__Expression__Group_0_1__014102 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__1__Impl_in_rule__Expression__Group_0_1__114160 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__2_in_rule__Expression__Group_0_1__114163 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__OperatorAssignment_0_1_1_in_rule__Expression__Group_0_1__1__Impl14190 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__2__Impl_in_rule__Expression__Group_0_1__214220 = new BitSet(new long[]{0x0004000000000000L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__3_in_rule__Expression__Group_0_1__214223 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__ChildrenAssignment_0_1_2_in_rule__Expression__Group_0_1__2__Impl14250 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__3__Impl_in_rule__Expression__Group_0_1__314280 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__4_in_rule__Expression__Group_0_1__314283 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_50_in_rule__Expression__Group_0_1__3__Impl14311 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__4__Impl_in_rule__Expression__Group_0_1__414342 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__ChildrenAssignment_0_1_4_in_rule__Expression__Group_0_1__4__Impl14369 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0__0__Impl_in_rule__SimpleExpression__Group_0__014409 = new BitSet(new long[]{0x0020000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0__1_in_rule__SimpleExpression__Group_0__014412 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBooleanExpression_in_rule__SimpleExpression__Group_0__0__Impl14439 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0__1__Impl_in_rule__SimpleExpression__Group_0__114468 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0_1__0_in_rule__SimpleExpression__Group_0__1__Impl14495 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0_1__0__Impl_in_rule__SimpleExpression__Group_0_1__014530 = new BitSet(new long[]{0x0020000000000000L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0_1__1_in_rule__SimpleExpression__Group_0_1__014533 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0_1__1__Impl_in_rule__SimpleExpression__Group_0_1__114591 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0_1__2_in_rule__SimpleExpression__Group_0_1__114594 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__OperatorAssignment_0_1_1_in_rule__SimpleExpression__Group_0_1__1__Impl14621 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0_1__2__Impl_in_rule__SimpleExpression__Group_0_1__214651 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__ChildrenAssignment_0_1_2_in_rule__SimpleExpression__Group_0_1__2__Impl14678 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__0__Impl_in_rule__ArrayExpression__Group__014714 = new BitSet(new long[]{0x0040000000000000L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__1_in_rule__ArrayExpression__Group__014717 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__1__Impl_in_rule__ArrayExpression__Group__114775 = new BitSet(new long[]{0x20C10FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__2_in_rule__ArrayExpression__Group__114778 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__OperatorAssignment_1_in_rule__ArrayExpression__Group__1__Impl14805 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__2__Impl_in_rule__ArrayExpression__Group__214835 = new BitSet(new long[]{0x0080000000000000L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__3_in_rule__ArrayExpression__Group__214838 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2__0_in_rule__ArrayExpression__Group__2__Impl14865 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group__3__Impl_in_rule__ArrayExpression__Group__314896 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_55_in_rule__ArrayExpression__Group__3__Impl14924 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2__0__Impl_in_rule__ArrayExpression__Group_2__014963 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2__1_in_rule__ArrayExpression__Group_2__014966 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__ChildrenAssignment_2_0_in_rule__ArrayExpression__Group_2__0__Impl14993 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2__1__Impl_in_rule__ArrayExpression__Group_2__115023 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2_1__0_in_rule__ArrayExpression__Group_2__1__Impl15050 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2_1__0__Impl_in_rule__ArrayExpression__Group_2_1__015085 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2_1__1_in_rule__ArrayExpression__Group_2_1__015088 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__ArrayExpression__Group_2_1__0__Impl15116 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__Group_2_1__1__Impl_in_rule__ArrayExpression__Group_2_1__115147 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ArrayExpression__ChildrenAssignment_2_1_1_in_rule__ArrayExpression__Group_2_1__1__Impl15174 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__0__Impl_in_rule__PatternExpression__Group_2__015208 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__1_in_rule__PatternExpression__Group_2__015211 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__OperatorAssignment_2_0_in_rule__PatternExpression__Group_2__0__Impl15238 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__1__Impl_in_rule__PatternExpression__Group_2__115268 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__2_in_rule__PatternExpression__Group_2__115271 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__PatternExpression__Group_2__1__Impl15299 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__2__Impl_in_rule__PatternExpression__Group_2__215330 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__3_in_rule__PatternExpression__Group_2__215333 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__ChildrenAssignment_2_2_in_rule__PatternExpression__Group_2__2__Impl15360 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternExpression__Group_2__3__Impl_in_rule__PatternExpression__Group_2__315390 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__PatternExpression__Group_2__3__Impl15418 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__StatementExpression__Group__0__Impl_in_rule__StatementExpression__Group__015457 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
        public static final BitSet FOLLOW_rule__StatementExpression__Group__1_in_rule__StatementExpression__Group__015460 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__StatementExpression__Group__1__Impl_in_rule__StatementExpression__Group__115518 = new BitSet(new long[]{0x0040000000000000L});
        public static final BitSet FOLLOW_rule__StatementExpression__Group__2_in_rule__StatementExpression__Group__115521 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_67_in_rule__StatementExpression__Group__1__Impl15549 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__StatementExpression__Group__2__Impl_in_rule__StatementExpression__Group__215580 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__StatementExpression__ChildrenAssignment_2_in_rule__StatementExpression__Group__2__Impl15607 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group__0__Impl_in_rule__BooleanExpression__Group__015643 = new BitSet(new long[]{0x0000000000600002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group__1_in_rule__BooleanExpression__Group__015646 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBooleanTerm_in_rule__BooleanExpression__Group__0__Impl15673 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group__1__Impl_in_rule__BooleanExpression__Group__115702 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group_1__0_in_rule__BooleanExpression__Group__1__Impl15729 = new BitSet(new long[]{0x0000000000600002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group_1__0__Impl_in_rule__BooleanExpression__Group_1__015764 = new BitSet(new long[]{0x0000000000600000L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group_1__1_in_rule__BooleanExpression__Group_1__015767 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group_1__1__Impl_in_rule__BooleanExpression__Group_1__115825 = new BitSet(new long[]{0x00010FF0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group_1__2_in_rule__BooleanExpression__Group_1__115828 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__OperatorAssignment_1_1_in_rule__BooleanExpression__Group_1__1__Impl15855 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group_1__2__Impl_in_rule__BooleanExpression__Group_1__215885 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__ChildrenAssignment_1_2_in_rule__BooleanExpression__Group_1__2__Impl15912 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0__0__Impl_in_rule__BooleanTerm__Group_0__015948 = new BitSet(new long[]{0x000000001F800002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0__1_in_rule__BooleanTerm__Group_0__015951 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAdditionExpression_in_rule__BooleanTerm__Group_0__0__Impl15978 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0__1__Impl_in_rule__BooleanTerm__Group_0__116007 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0_1__0_in_rule__BooleanTerm__Group_0__1__Impl16034 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0_1__0__Impl_in_rule__BooleanTerm__Group_0_1__016069 = new BitSet(new long[]{0x000000001F800000L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0_1__1_in_rule__BooleanTerm__Group_0_1__016072 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0_1__1__Impl_in_rule__BooleanTerm__Group_0_1__116130 = new BitSet(new long[]{0x000103F0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0_1__2_in_rule__BooleanTerm__Group_0_1__116133 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__OperatorAssignment_0_1_1_in_rule__BooleanTerm__Group_0_1__1__Impl16160 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0_1__2__Impl_in_rule__BooleanTerm__Group_0_1__216190 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__ChildrenAssignment_0_1_2_in_rule__BooleanTerm__Group_0_1__2__Impl16217 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_1__0__Impl_in_rule__BooleanTerm__Group_1__016253 = new BitSet(new long[]{0x00000C0000000000L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_1__1_in_rule__BooleanTerm__Group_1__016256 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_1__1__Impl_in_rule__BooleanTerm__Group_1__116314 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__ValueAssignment_1_1_in_rule__BooleanTerm__Group_1__1__Impl16341 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group__0__Impl_in_rule__AdditionExpression__Group__016375 = new BitSet(new long[]{0x0000000060000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group__1_in_rule__AdditionExpression__Group__016378 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMulExpression_in_rule__AdditionExpression__Group__0__Impl16405 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group__1__Impl_in_rule__AdditionExpression__Group__116434 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group_1__0_in_rule__AdditionExpression__Group__1__Impl16461 = new BitSet(new long[]{0x0000000060000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group_1__0__Impl_in_rule__AdditionExpression__Group_1__016496 = new BitSet(new long[]{0x0000000060000000L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group_1__1_in_rule__AdditionExpression__Group_1__016499 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group_1__1__Impl_in_rule__AdditionExpression__Group_1__116557 = new BitSet(new long[]{0x000103F0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group_1__2_in_rule__AdditionExpression__Group_1__116560 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__OperatorAssignment_1_1_in_rule__AdditionExpression__Group_1__1__Impl16587 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group_1__2__Impl_in_rule__AdditionExpression__Group_1__216617 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__ChildrenAssignment_1_2_in_rule__AdditionExpression__Group_1__2__Impl16644 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group__0__Impl_in_rule__MulExpression__Group__016680 = new BitSet(new long[]{0x0000000F80000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group__1_in_rule__MulExpression__Group__016683 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTerm_in_rule__MulExpression__Group__0__Impl16710 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group__1__Impl_in_rule__MulExpression__Group__116739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group_1__0_in_rule__MulExpression__Group__1__Impl16766 = new BitSet(new long[]{0x0000000F80000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group_1__0__Impl_in_rule__MulExpression__Group_1__016801 = new BitSet(new long[]{0x0000000F80000000L});
        public static final BitSet FOLLOW_rule__MulExpression__Group_1__1_in_rule__MulExpression__Group_1__016804 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group_1__1__Impl_in_rule__MulExpression__Group_1__116862 = new BitSet(new long[]{0x000103F0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__MulExpression__Group_1__2_in_rule__MulExpression__Group_1__116865 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__OperatorAssignment_1_1_in_rule__MulExpression__Group_1__1__Impl16892 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group_1__2__Impl_in_rule__MulExpression__Group_1__216922 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__ChildrenAssignment_1_2_in_rule__MulExpression__Group_1__2__Impl16949 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Term__Group_0__0__Impl_in_rule__Term__Group_0__016985 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Term__Group_0__1_in_rule__Term__Group_0__016988 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Term__Group_0__1__Impl_in_rule__Term__Group_0__117046 = new BitSet(new long[]{0x000103F0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__Term__Group_0__2_in_rule__Term__Group_0__117049 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Term__OperatorAssignment_0_1_in_rule__Term__Group_0__1__Impl17076 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Term__Group_0__2__Impl_in_rule__Term__Group_0__217106 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Term__ChildrenAssignment_0_2_in_rule__Term__Group_0__2__Impl17133 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group__0__Impl_in_rule__ComplexTerm__Group__017169 = new BitSet(new long[]{0x0001000000000002L,0x0000000000081000L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group__1_in_rule__ComplexTerm__Group__017172 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSimpleTerm_in_rule__ComplexTerm__Group__0__Impl17199 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group__1__Impl_in_rule__ComplexTerm__Group__117228 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Alternatives_1_in_rule__ComplexTerm__Group__1__Impl17255 = new BitSet(new long[]{0x0001000000000002L,0x0000000000081000L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_0__0__Impl_in_rule__ComplexTerm__Group_1_0__017290 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_0__1_in_rule__ComplexTerm__Group_1_0__017293 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_0__1__Impl_in_rule__ComplexTerm__Group_1_0__117351 = new BitSet(new long[]{0x000103F0000000F0L,0x0000000001F00020L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_0__2_in_rule__ComplexTerm__Group_1_0__117354 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__OperatorAssignment_1_0_1_in_rule__ComplexTerm__Group_1_0__1__Impl17381 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_0__2__Impl_in_rule__ComplexTerm__Group_1_0__217411 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_0_2_in_rule__ComplexTerm__Group_1_0__2__Impl17438 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__0__Impl_in_rule__ComplexTerm__Group_1_1__017474 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__1_in_rule__ComplexTerm__Group_1_1__017477 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__1__Impl_in_rule__ComplexTerm__Group_1_1__117535 = new BitSet(new long[]{0x20430FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__2_in_rule__ComplexTerm__Group_1_1__117538 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__OperatorAssignment_1_1_1_in_rule__ComplexTerm__Group_1_1__1__Impl17565 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__2__Impl_in_rule__ComplexTerm__Group_1_1__217595 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__3_in_rule__ComplexTerm__Group_1_1__217598 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2__0_in_rule__ComplexTerm__Group_1_1__2__Impl17625 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1__3__Impl_in_rule__ComplexTerm__Group_1_1__317656 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__ComplexTerm__Group_1_1__3__Impl17684 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2__0__Impl_in_rule__ComplexTerm__Group_1_1_2__017723 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2__1_in_rule__ComplexTerm__Group_1_1_2__017726 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_1_2_0_in_rule__ComplexTerm__Group_1_1_2__0__Impl17753 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2__1__Impl_in_rule__ComplexTerm__Group_1_1_2__117783 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2_1__0_in_rule__ComplexTerm__Group_1_1_2__1__Impl17810 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2_1__0__Impl_in_rule__ComplexTerm__Group_1_1_2_1__017845 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2_1__1_in_rule__ComplexTerm__Group_1_1_2_1__017848 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__ComplexTerm__Group_1_1_2_1__0__Impl17876 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_1_2_1__1__Impl_in_rule__ComplexTerm__Group_1_1_2_1__117907 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_1_2_1_1_in_rule__ComplexTerm__Group_1_1_2_1__1__Impl17934 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__0__Impl_in_rule__ComplexTerm__Group_1_2__017968 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__1_in_rule__ComplexTerm__Group_1_2__017971 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__1__Impl_in_rule__ComplexTerm__Group_1_2__118029 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__2_in_rule__ComplexTerm__Group_1_2__118032 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__OperatorAssignment_1_2_1_in_rule__ComplexTerm__Group_1_2__1__Impl18059 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__2__Impl_in_rule__ComplexTerm__Group_1_2__218089 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__3_in_rule__ComplexTerm__Group_1_2__218092 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__ChildrenAssignment_1_2_2_in_rule__ComplexTerm__Group_1_2__2__Impl18119 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Group_1_2__3__Impl_in_rule__ComplexTerm__Group_1_2__318149 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_68_in_rule__ComplexTerm__Group_1_2__3__Impl18177 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_1__0__Impl_in_rule__SimpleTerm__Group_1__018216 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_1__1_in_rule__SimpleTerm__Group_1__018219 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_69_in_rule__SimpleTerm__Group_1__0__Impl18247 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_1__1__Impl_in_rule__SimpleTerm__Group_1__118278 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_1__2_in_rule__SimpleTerm__Group_1__118281 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_1__2__Impl_in_rule__SimpleTerm__Group_1__218339 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__ConstantAssignment_1_2_in_rule__SimpleTerm__Group_1__2__Impl18366 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_3__0__Impl_in_rule__SimpleTerm__Group_3__018402 = new BitSet(new long[]{0x20010FF0000000F0L,0x0000000001F40020L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_3__1_in_rule__SimpleTerm__Group_3__018405 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__SimpleTerm__Group_3__0__Impl18433 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_3__1__Impl_in_rule__SimpleTerm__Group_3__118464 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_3__2_in_rule__SimpleTerm__Group_3__118467 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSimpleExpression_in_rule__SimpleTerm__Group_3__1__Impl18494 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_3__2__Impl_in_rule__SimpleTerm__Group_3__218523 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__SimpleTerm__Group_3__2__Impl18551 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__0__Impl_in_rule__SimpleTerm__Group_4__018588 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__1_in_rule__SimpleTerm__Group_4__018591 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__1__Impl_in_rule__SimpleTerm__Group_4__118649 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__2_in_rule__SimpleTerm__Group_4__118652 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__OperatorAssignment_4_1_in_rule__SimpleTerm__Group_4__1__Impl18679 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__2__Impl_in_rule__SimpleTerm__Group_4__218709 = new BitSet(new long[]{0x0001000000000000L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__3_in_rule__SimpleTerm__Group_4__218712 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__TypeAssignment_4_2_in_rule__SimpleTerm__Group_4__2__Impl18739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__3__Impl_in_rule__SimpleTerm__Group_4__318769 = new BitSet(new long[]{0x20430FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__4_in_rule__SimpleTerm__Group_4__318772 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__SimpleTerm__Group_4__3__Impl18800 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__4__Impl_in_rule__SimpleTerm__Group_4__418831 = new BitSet(new long[]{0x0002000000000000L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__5_in_rule__SimpleTerm__Group_4__418834 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4__0_in_rule__SimpleTerm__Group_4__4__Impl18861 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4__5__Impl_in_rule__SimpleTerm__Group_4__518892 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_49_in_rule__SimpleTerm__Group_4__5__Impl18920 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4__0__Impl_in_rule__SimpleTerm__Group_4_4__018963 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4__1_in_rule__SimpleTerm__Group_4_4__018966 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__ChildrenAssignment_4_4_0_in_rule__SimpleTerm__Group_4_4__0__Impl18993 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4__1__Impl_in_rule__SimpleTerm__Group_4_4__119023 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4_1__0_in_rule__SimpleTerm__Group_4_4__1__Impl19050 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4_1__0__Impl_in_rule__SimpleTerm__Group_4_4_1__019085 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4_1__1_in_rule__SimpleTerm__Group_4_4_1__019088 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__SimpleTerm__Group_4_4_1__0__Impl19116 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_4_4_1__1__Impl_in_rule__SimpleTerm__Group_4_4_1__119147 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__ChildrenAssignment_4_4_1_1_in_rule__SimpleTerm__Group_4_4_1__1__Impl19174 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_5__0__Impl_in_rule__SimpleTerm__Group_5__019208 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_5__1_in_rule__SimpleTerm__Group_5__019211 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__OperatorAssignment_5_0_in_rule__SimpleTerm__Group_5__0__Impl19238 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_5__1__Impl_in_rule__SimpleTerm__Group_5__119268 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__ChildrenAssignment_5_1_in_rule__SimpleTerm__Group_5__1__Impl19295 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_6__0__Impl_in_rule__SimpleTerm__Group_6__019329 = new BitSet(new long[]{0xA7412FF0000000F0L,0x0000000001F5C020L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_6__1_in_rule__SimpleTerm__Group_6__019332 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__OperatorAssignment_6_0_in_rule__SimpleTerm__Group_6__0__Impl19359 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_6__1__Impl_in_rule__SimpleTerm__Group_6__119389 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__ChildrenAssignment_6_1_in_rule__SimpleTerm__Group_6__1__Impl19416 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_7__0__Impl_in_rule__SimpleTerm__Group_7__019450 = new BitSet(new long[]{0xA7412FF0000000F0L,0x0000000001F5C020L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_7__1_in_rule__SimpleTerm__Group_7__019453 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__OperatorAssignment_7_0_in_rule__SimpleTerm__Group_7__0__Impl19480 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_7__1__Impl_in_rule__SimpleTerm__Group_7__119510 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__ChildrenAssignment_7_1_in_rule__SimpleTerm__Group_7__1__Impl19537 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_8__0__Impl_in_rule__SimpleTerm__Group_8__019571 = new BitSet(new long[]{0x0000801000000010L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_8__1_in_rule__SimpleTerm__Group_8__019574 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__OperatorAssignment_8_0_in_rule__SimpleTerm__Group_8__0__Impl19601 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__Group_8__1__Impl_in_rule__SimpleTerm__Group_8__119631 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__ChildrenAssignment_8_1_in_rule__SimpleTerm__Group_8__1__Impl19658 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__0__Impl_in_rule__PatternMatchInfoProxy__Group__019692 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__1_in_rule__PatternMatchInfoProxy__Group__019695 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_70_in_rule__PatternMatchInfoProxy__Group__0__Impl19723 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__1__Impl_in_rule__PatternMatchInfoProxy__Group__119754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__2_in_rule__PatternMatchInfoProxy__Group__119757 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__NameAssignment_1_in_rule__PatternMatchInfoProxy__Group__1__Impl19784 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__2__Impl_in_rule__PatternMatchInfoProxy__Group__219814 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__3_in_rule__PatternMatchInfoProxy__Group__219817 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_71_in_rule__PatternMatchInfoProxy__Group__2__Impl19845 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__3__Impl_in_rule__PatternMatchInfoProxy__Group__319876 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000100L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__4_in_rule__PatternMatchInfoProxy__Group__319879 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__BaseClassAssignment_3_in_rule__PatternMatchInfoProxy__Group__3__Impl19906 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__4__Impl_in_rule__PatternMatchInfoProxy__Group__419936 = new BitSet(new long[]{0x0000020000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__5_in_rule__PatternMatchInfoProxy__Group__419939 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group_4__0_in_rule__PatternMatchInfoProxy__Group__4__Impl19966 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group__5__Impl_in_rule__PatternMatchInfoProxy__Group__519997 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__ChildrenAssignment_5_in_rule__PatternMatchInfoProxy__Group__5__Impl20024 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group_4__0__Impl_in_rule__PatternMatchInfoProxy__Group_4__020067 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group_4__1_in_rule__PatternMatchInfoProxy__Group_4__020070 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_72_in_rule__PatternMatchInfoProxy__Group_4__0__Impl20098 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__Group_4__1__Impl_in_rule__PatternMatchInfoProxy__Group_4__120129 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternMatchInfoProxy__FactoryAssignment_4_1_in_rule__PatternMatchInfoProxy__Group_4__1__Impl20156 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__0__Impl_in_rule__LocatorProxy__Group__020190 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__1_in_rule__LocatorProxy__Group__020193 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_73_in_rule__LocatorProxy__Group__0__Impl20221 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__1__Impl_in_rule__LocatorProxy__Group__120252 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__2_in_rule__LocatorProxy__Group__120255 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__NameAssignment_1_in_rule__LocatorProxy__Group__1__Impl20282 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__2__Impl_in_rule__LocatorProxy__Group__220312 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__3_in_rule__LocatorProxy__Group__220315 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_71_in_rule__LocatorProxy__Group__2__Impl20343 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__3__Impl_in_rule__LocatorProxy__Group__320374 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000100L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__4_in_rule__LocatorProxy__Group__320377 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__BaseClassAssignment_3_in_rule__LocatorProxy__Group__3__Impl20404 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__4__Impl_in_rule__LocatorProxy__Group__420434 = new BitSet(new long[]{0x0000020000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__5_in_rule__LocatorProxy__Group__420437 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group_4__0_in_rule__LocatorProxy__Group__4__Impl20464 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group__5__Impl_in_rule__LocatorProxy__Group__520495 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__ChildrenAssignment_5_in_rule__LocatorProxy__Group__5__Impl20522 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group_4__0__Impl_in_rule__LocatorProxy__Group_4__020565 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group_4__1_in_rule__LocatorProxy__Group_4__020568 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_72_in_rule__LocatorProxy__Group_4__0__Impl20596 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__Group_4__1__Impl_in_rule__LocatorProxy__Group_4__120627 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocatorProxy__FactoryAssignment_4_1_in_rule__LocatorProxy__Group_4__1__Impl20654 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__0__Impl_in_rule__TypeProxy__Group__020688 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__1_in_rule__TypeProxy__Group__020691 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_74_in_rule__TypeProxy__Group__0__Impl20719 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__1__Impl_in_rule__TypeProxy__Group__120750 = new BitSet(new long[]{0x0020000000000000L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__2_in_rule__TypeProxy__Group__120753 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__NameAssignment_1_in_rule__TypeProxy__Group__1__Impl20780 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__2__Impl_in_rule__TypeProxy__Group__220810 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__3_in_rule__TypeProxy__Group__220813 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__TypeProxy__Group__2__Impl20841 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__3__Impl_in_rule__TypeProxy__Group__320872 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000100L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__4_in_rule__TypeProxy__Group__320875 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__BaseClassAssignment_3_in_rule__TypeProxy__Group__3__Impl20902 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__4__Impl_in_rule__TypeProxy__Group__420932 = new BitSet(new long[]{0x0000020000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__5_in_rule__TypeProxy__Group__420935 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group_4__0_in_rule__TypeProxy__Group__4__Impl20962 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group__5__Impl_in_rule__TypeProxy__Group__520993 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__ChildrenAssignment_5_in_rule__TypeProxy__Group__5__Impl21020 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group_4__0__Impl_in_rule__TypeProxy__Group_4__021063 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group_4__1_in_rule__TypeProxy__Group_4__021066 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_72_in_rule__TypeProxy__Group_4__0__Impl21094 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__Group_4__1__Impl_in_rule__TypeProxy__Group_4__121125 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TypeProxy__FactoryAssignment_4_1_in_rule__TypeProxy__Group_4__1__Impl21152 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__0__Impl_in_rule__ProxyArgument__Group__021186 = new BitSet(new long[]{0x0000020000000000L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__1_in_rule__ProxyArgument__Group__021189 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__1__Impl_in_rule__ProxyArgument__Group__121247 = new BitSet(new long[]{0x0040000000000000L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__2_in_rule__ProxyArgument__Group__121250 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_41_in_rule__ProxyArgument__Group__1__Impl21278 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__2__Impl_in_rule__ProxyArgument__Group__221309 = new BitSet(new long[]{0x20C10FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__3_in_rule__ProxyArgument__Group__221312 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_54_in_rule__ProxyArgument__Group__2__Impl21340 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__3__Impl_in_rule__ProxyArgument__Group__321371 = new BitSet(new long[]{0x0080000000000000L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__4_in_rule__ProxyArgument__Group__321374 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3__0_in_rule__ProxyArgument__Group__3__Impl21401 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group__4__Impl_in_rule__ProxyArgument__Group__421432 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_55_in_rule__ProxyArgument__Group__4__Impl21460 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3__0__Impl_in_rule__ProxyArgument__Group_3__021501 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3__1_in_rule__ProxyArgument__Group_3__021504 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__ChildrenAssignment_3_0_in_rule__ProxyArgument__Group_3__0__Impl21531 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3__1__Impl_in_rule__ProxyArgument__Group_3__121561 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3_1__0_in_rule__ProxyArgument__Group_3__1__Impl21588 = new BitSet(new long[]{0x0008000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3_1__0__Impl_in_rule__ProxyArgument__Group_3_1__021623 = new BitSet(new long[]{0x20410FF0000000F0L,0x0000000001F40028L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3_1__1_in_rule__ProxyArgument__Group_3_1__021626 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_51_in_rule__ProxyArgument__Group_3_1__0__Impl21654 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__Group_3_1__1__Impl_in_rule__ProxyArgument__Group_3_1__121685 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ProxyArgument__ChildrenAssignment_3_1_1_in_rule__ProxyArgument__Group_3_1__1__Impl21712 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group__0__Impl_in_rule__QualifiedID__Group__021746 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group__1_in_rule__QualifiedID__Group__021749 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedID__Group__0__Impl21776 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group__1__Impl_in_rule__QualifiedID__Group__121805 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group_1__0_in_rule__QualifiedID__Group__1__Impl21832 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group_1__0__Impl_in_rule__QualifiedID__Group_1__021867 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group_1__1_in_rule__QualifiedID__Group_1__021870 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_75_in_rule__QualifiedID__Group_1__0__Impl21898 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedID__Group_1__1__Impl_in_rule__QualifiedID__Group_1__121929 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedID__Group_1__1__Impl21956 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group__0__Impl_in_rule__DotQualifiedID__Group__021989 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group__1_in_rule__DotQualifiedID__Group__021992 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__DotQualifiedID__Group__0__Impl22019 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group__1__Impl_in_rule__DotQualifiedID__Group__122048 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group_1__0_in_rule__DotQualifiedID__Group__1__Impl22075 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group_1__0__Impl_in_rule__DotQualifiedID__Group_1__022110 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group_1__1_in_rule__DotQualifiedID__Group_1__022113 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_76_in_rule__DotQualifiedID__Group_1__0__Impl22141 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DotQualifiedID__Group_1__1__Impl_in_rule__DotQualifiedID__Group_1__122172 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__DotQualifiedID__Group_1__1__Impl22199 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__0_in_rule__LocateStatement__UnorderedGroup_322233 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_0__0_in_rule__LocateStatement__UnorderedGroup_3__Impl22322 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_1__0_in_rule__LocateStatement__UnorderedGroup_3__Impl22413 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_2__0_in_rule__LocateStatement__UnorderedGroup_3__Impl22504 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__Impl_in_rule__LocateStatement__UnorderedGroup_3__022563 = new BitSet(new long[]{0x1C00000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__1_in_rule__LocateStatement__UnorderedGroup_3__022566 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__Impl_in_rule__LocateStatement__UnorderedGroup_3__122591 = new BitSet(new long[]{0x1C00000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__2_in_rule__LocateStatement__UnorderedGroup_3__122594 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__Impl_in_rule__LocateStatement__UnorderedGroup_3__222619 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Program__NameAssignment_122653 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleImportStatement_in_rule__Program__ChildrenAssignment_3_022684 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDeclaration_in_rule__Program__ChildrenAssignment_422715 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__InclusionDeclaration__ImportURIAssignment_122746 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__PatternDeclaration__NameAssignment_122777 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedID_in_rule__PatternDeclaration__ReturnTypeAssignment_2_122812 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__PatternDeclaration__ArgumentsAssignment_4_022847 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__PatternDeclaration__ArgumentsAssignment_4_1_122878 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleCompositeStatement_in_rule__PatternDeclaration__ChildrenAssignment_622909 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__ConstantDeclaration__NameAssignment_122940 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ConstantDeclaration__ValueAssignment_322971 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BlockSpecialStatement__NameAlternatives_1_0_in_rule__BlockSpecialStatement__NameAssignment_123002 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_77_in_rule__ReturnStatement__NameAssignment_023040 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ReturnStatement__ChildrenAssignment_123079 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__CompositeStatement__ChildrenAlternatives_2_0_in_rule__CompositeStatement__ChildrenAssignment_223110 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleVarEntry_in_rule__DeclarationStatement__ChildrenAssignment_123143 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleVarEntry_in_rule__DeclarationStatement__ChildrenAssignment_2_123174 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__VarEntry__NameAssignment_023205 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__VarEntry__ChildrenAssignment_1_123236 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_78_in_rule__LocateStatement__OptionalAssignment_023272 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleUnamedArgument_in_rule__LocateStatement__ChildrenAssignment_223311 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePOSITION_CONSTANTS_in_rule__LocateStatement__PositionAssignment_3_0_123342 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__LocateStatement__FlagAssignment_3_1_223373 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedID_in_rule__LocateStatement__LocatorAssignment_3_2_123408 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__LocateStatement__ChildrenAssignment_3_2_3_023443 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__LocateStatement__ChildrenAssignment_3_2_3_1_123474 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternExpression_in_rule__MatchStatement__PatternAssignment_123505 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__MatchStatement__ChildrenAssignment_2_123536 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__MatchStatement__ChildrenAssignment_2_2_123567 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMatchOption_in_rule__MatchStatement__ChildrenAssignment_3_123598 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMatchOption_in_rule__MatchStatement__ChildrenAssignment_3_2_123629 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchOption__NameAlternatives_0_0_in_rule__MatchOption__NameAssignment_023660 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__MatchOption__ValueAssignment_223693 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__IfStatement__ConditionAssignment_223724 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__IfStatement__TrueStatementAssignment_423755 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__IfStatement__FalseStatementAssignment_5_123786 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_58_in_rule__ForStatement__LoopTypeAssignment_023822 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForInitStatement_in_rule__ForStatement__InitStatementAssignment_223861 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ForStatement__ConditionAssignment_423892 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleForPostStatement_in_rule__ForStatement__PostStatementAssignment_623923 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__ForStatement__BodyStatementAssignment_823954 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_79_in_rule__ForEachStatement__LoopTypeAssignment_023990 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__ForEachStatement__ControlVarAssignment_324029 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ForEachStatement__ConditionAssignment_524060 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__ForEachStatement__BodyStatementAssignment_724091 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_80_in_rule__WhileStatement__LoopTypeAssignment_024127 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__WhileStatement__ConditionAssignment_224166 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__WhileStatement__BodyStatementAssignment_424197 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__ChildrenAlternatives_0_0_0_in_rule__ForInitStatement__ChildrenAssignment_0_024228 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ForInitStatement__ChildrenAlternatives_0_1_1_0_in_rule__ForInitStatement__ChildrenAssignment_0_1_124261 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEmptyStatement_in_rule__ForInitStatement__ChildrenAssignment_124294 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAssignStatement_in_rule__ForPostStatement__ChildrenAssignment_0_024325 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAssignStatement_in_rule__ForPostStatement__ChildrenAssignment_0_1_124356 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEmptyStatement_in_rule__ForPostStatement__ChildrenAssignment_124387 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__AssignStatement__OperatorAssignment_1_124423 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__AssignStatement__ChildrenAssignment_1_224462 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__UnamedArgument__ValueAssignment24493 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__NamedArgument__NameAssignment_024524 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__NamedArgument__ValueAssignment_2_024555 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__NamedArgument__ChildrenAssignment_2_1_2_024586 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__NamedArgument__ChildrenAssignment_2_1_2_1_124617 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_81_in_rule__Expression__OperatorAssignment_0_1_124653 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__Expression__ChildrenAssignment_0_1_224692 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__Expression__ChildrenAssignment_0_1_424723 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_53_in_rule__SimpleExpression__OperatorAssignment_0_1_124759 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__SimpleExpression__ChildrenAssignment_0_1_224798 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_54_in_rule__ArrayExpression__OperatorAssignment_124834 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ArrayExpression__ChildrenAssignment_2_024873 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ArrayExpression__ChildrenAssignment_2_1_124904 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternDeclaration_in_rule__PatternExpression__ChildrenAssignment_024935 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedID_in_rule__PatternExpression__RefsAssignment_124970 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_36_in_rule__PatternExpression__OperatorAssignment_2_025010 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__PatternExpression__ChildrenAssignment_2_225049 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleCompositeStatement_in_rule__StatementExpression__ChildrenAssignment_225080 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__OperatorAlternatives_1_1_0_in_rule__BooleanExpression__OperatorAssignment_1_125111 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBooleanTerm_in_rule__BooleanExpression__ChildrenAssignment_1_225144 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__OperatorAlternatives_0_1_1_0_in_rule__BooleanTerm__OperatorAssignment_0_1_125175 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAdditionExpression_in_rule__BooleanTerm__ChildrenAssignment_0_1_225208 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBOOLEAN_CONSTANTS_in_rule__BooleanTerm__ValueAssignment_1_125239 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__OperatorAlternatives_1_1_0_in_rule__AdditionExpression__OperatorAssignment_1_125270 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMulExpression_in_rule__AdditionExpression__ChildrenAssignment_1_225303 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__OperatorAlternatives_1_1_0_in_rule__MulExpression__OperatorAssignment_1_125334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTerm_in_rule__MulExpression__ChildrenAssignment_1_225367 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_82_in_rule__Term__OperatorAssignment_0_125403 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTerm_in_rule__Term__ChildrenAssignment_0_225442 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_76_in_rule__ComplexTerm__OperatorAssignment_1_0_125478 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSimpleTerm_in_rule__ComplexTerm__ChildrenAssignment_1_0_225517 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_48_in_rule__ComplexTerm__OperatorAssignment_1_1_125553 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ComplexTerm__ChildrenAssignment_1_1_2_025592 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ComplexTerm__ChildrenAssignment_1_1_2_1_125623 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_83_in_rule__ComplexTerm__OperatorAssignment_1_2_125659 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__ComplexTerm__ChildrenAssignment_1_2_225698 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedID_in_rule__SimpleTerm__ConstantAssignment_1_225733 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_84_in_rule__SimpleTerm__OperatorAssignment_4_125773 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedID_in_rule__SimpleTerm__TypeAssignment_4_225816 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__SimpleTerm__ChildrenAssignment_4_4_025851 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__SimpleTerm__ChildrenAssignment_4_4_1_125882 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleTerm__OperatorAlternatives_5_0_0_in_rule__SimpleTerm__OperatorAssignment_5_025913 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleExpression_in_rule__SimpleTerm__ChildrenAssignment_5_125946 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_85_in_rule__SimpleTerm__OperatorAssignment_6_025982 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__SimpleTerm__ChildrenAssignment_6_126021 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_86_in_rule__SimpleTerm__OperatorAssignment_7_026057 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleStatement_in_rule__SimpleTerm__ChildrenAssignment_7_126096 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_87_in_rule__SimpleTerm__OperatorAssignment_8_026132 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePatternExpression_in_rule__SimpleTerm__ChildrenAssignment_8_126171 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_88_in_rule__SimpleTerm__OperatorAssignment_926207 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__VariableTerm__OperatorAlternatives_0_in_rule__VariableTerm__OperatorAssignment26246 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__LiteralExpression__ValueAssignment_026279 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_VERBATIM_STRING_in_rule__LiteralExpression__ValueAssignment_126310 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_INT_in_rule__LiteralExpression__ValueAssignment_226341 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__PatternMatchInfoProxy__NameAssignment_126372 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDotQualifiedID_in_rule__PatternMatchInfoProxy__BaseClassAssignment_326403 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDotQualifiedID_in_rule__PatternMatchInfoProxy__FactoryAssignment_4_126434 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleProxyArgument_in_rule__PatternMatchInfoProxy__ChildrenAssignment_526465 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__LocatorProxy__NameAssignment_126496 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDotQualifiedID_in_rule__LocatorProxy__BaseClassAssignment_326527 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDotQualifiedID_in_rule__LocatorProxy__FactoryAssignment_4_126558 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleProxyArgument_in_rule__LocatorProxy__ChildrenAssignment_526589 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__TypeProxy__NameAssignment_126620 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDotQualifiedID_in_rule__TypeProxy__BaseClassAssignment_326651 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDotQualifiedID_in_rule__TypeProxy__FactoryAssignment_4_126682 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleProxyArgument_in_rule__TypeProxy__ChildrenAssignment_526713 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__ProxyArgument__ChildrenAssignment_3_026744 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleArgument_in_rule__ProxyArgument__ChildrenAssignment_3_1_126775 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleNamedArgument_in_synpred263888 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PatternDeclaration__ChildrenAssignment_6_in_synpred706195 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ReturnStatement__ChildrenAssignment_1_in_synpred727618 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__DeclarationStatement__Group_2__0_in_synpred748053 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2__0_in_synpred799727 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3__0_in_synpred809785 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_2_2__0_in_synpred819973 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MatchStatement__Group_3_2__0_in_synpred8210282 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IfStatement__Group_5__0_in_synpred8310960 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Expression__Group_0_1__0_in_synpred8914064 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SimpleExpression__Group_0_1__0_in_synpred9014495 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanExpression__Group_1__0_in_synpred9315729 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__BooleanTerm__Group_0_1__0_in_synpred9416034 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__AdditionExpression__Group_1__0_in_synpred9516461 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MulExpression__Group_1__0_in_synpred9616766 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ComplexTerm__Alternatives_1_in_synpred9717255 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_0__0_in_synpred11222322 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__Group_3_1__0_in_synpred11322413 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__1_in_synpred11422566 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__LocateStatement__UnorderedGroup_3__2_in_synpred11522594 = new BitSet(new long[]{0x0000000000000002L});
    }


}